khavatari
Goto Top

Apache2 - Bild wird mit IP statt Domain eingebettet

Hallo und guten morgen!

Ich habe da ein kleines Problem bei meinem Icinga2 Monitoring System mit der Einbettung von Grafana Grafiken bei den Checks.
Diese werden über die "indirect proxy" Methode als Bild auf der Icinga2 Seite eingebettet, aber leider mit der lokalen IP des Webservers und nicht mit Domain-Namen des Servers.

Also als Beispiel:
So ist es Falsch:
https://192.168.10.16/grafana/icingadbimg?host=server01&service=Disk&panelid=1&timerange=now-1h&timerangeto=now&cachetime=0

So sollte es eigentlich sein:
https://monitoring.meinserver.de/grafana/icingadbimg?host=server01&service=Disk&panelid=1&timerange=now-1h&timerangeto=now&cachetime=0

Ich habe nun schone echt lange an der Config vom Apache rumgebastelt und ausprobiert auch mit Rewrite Regeln zu Arbeiten die die IP in die Domain umändern, lande aber immer in einem Weiterleitungsloop.
Das komische an der ganzen Sache ist das, als ich noch HTTP erlaubt habe hat es auf der HTTP Seite komplett richtig geklappt und auf der HTTPS Seite nicht obwohl die Configs 1:1 gleich waren mal abgesehen von den Sachen die für SSL da sind.

Vielleicht hat hier ja jemand von euch eine Idee wo ich noch gucken könnte oder ob meine Config was falsch hat, über Hilfe würde ich mich freuen, verzweifle schon echt an dem Thema.

Hier übrigens noch meine Config die ich im Apache benutzte:
<IfModule mod_ssl.c>
    <VirtualHost _default_:443>
        ServerAdmin webmaster@localhost
        ServerName monitoring.meinserver.de
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
        SSLEngine on
        SSLCertificateFile /etc/ssl/certs/cert.pem
        SSLCertificateKeyFile /etc/ssl/private/key.key
        DocumentRoot "/usr/share/icingaweb2/public"  
        RewriteEngine On
        <Directory "/usr/share/icingaweb2/public">  
            Options SymLinksIfOwnerMatch
            AllowOverride None
            <IfModule mod_authz_core.c>
                <RequireAll>
                    Require all granted
                </RequireAll>
            </IfModule>
            <IfModule !mod_authz_core.c>
                Order allow,deny
                Allow from all
            </IfModule>
            SetEnv ICINGAWEB_CONFIGDIR "/etc/icingaweb2"  
            EnableSendfile Off
            <IfModule mod_rewrite.c>
                RewriteEngine on
                RewriteBase /
                RewriteCond %{REQUEST_FILENAME} -s [OR]
                RewriteCond %{REQUEST_FILENAME} -l [OR]
                RewriteCond %{REQUEST_FILENAME} -d
                RewriteRule ^.*$ - [NC,L]
                RewriteRule ^.*$ index.php [NC,L]
            </IfModule>
            
            <IfModule !mod_rewrite.c>
                DirectoryIndex error_norewrite.html
                ErrorDocument 404 /error_norewrite.html
            </IfModule>
        </Directory>
        <FilesMatch "\.(cgi|shtml|phtml|php)$">  
            SSLOptions +StdEnvVars
        </FilesMatch>
        <Directory /usr/lib/cgi-bin>
            SSLOptions +StdEnvVars
        </Directory>
    </VirtualHost>
</IfModule>

Content-ID: 7545838215

Url: https://administrator.de/contentid/7545838215

Ausgedruckt am: 17.11.2024 um 13:11 Uhr

LordGurke
Lösung LordGurke 16.06.2023 um 10:50:03 Uhr
Goto Top
Apache hat nichts mit dem ausgelieferten HTML zu tun. Das ist der Bote, nicht der Verfasser des Dokuments.
Wenn im Quelltext die Referenz falsch ist, ist das Problem bei Icinga und da ist irgendeine Config falsch.
Khavatari
Khavatari 16.06.2023 um 11:22:27 Uhr
Goto Top
Danke schonmal für deine Hilfe und die Erklärung, ich hab jetzt nochmal in die Configs bei Icinga geguckt, da finde ich nirgendswo ne Stelle wo ich die Host IP eingetragen habe, immer nur den fqdn und den hab ich auf dem Server in der hosts mit der Öffentlichen IP eingetragen und beim DNS auch.
Ich glaub ich muss mich nochmal durch den Quellcode kloppen und gucken ob ich was finde bei dem Grafana Modul für Icinga.
Khavatari
Khavatari 16.06.2023 um 12:55:01 Uhr
Goto Top
Habe das Problem gefunden aber noch keine Lösung dafür würde ich einen neuen Thread eröffnen.
Das mit der Config war richtig, und zwar bei apache2 etwas, die Variable $_SERVER['SERVER_NAME'] gibt mir meine IP wieder und nicht den Hostnamen.
Ich erstelle mal einen neuen Thread mit der angepassten Frage.