Apache2-PHP - Server Variable (servername) gibt Host IP aus
Hallo,
ich hatte vorhin schonmal einen Thread aufgrund eines Problems mit Icinga2 und mittlerweile rausgefunden das ein Plugin mithilfe der PhP Variable $_SERVER["SERVER_NAME"] eine URL erzeugt.
Soweit ich das richtig rausgefunden habe wird diese Variable anhand der in den Configs gesetztem "ServerName" bei Apache gesetzt.
Diese habe ich Global in meinem Apache gesetzt in der apache2.conf unter /etc/apache2
Trotzdem beinhaltet die Variable die IP meines Servers und nicht die fqdn.
Die IP wird sonst nirgendswo bei Apache2 von Hand gesetzt, weiß jemand wo ich noch gucken könnte warum die Variable nicht richtig gesetzt wird?
Grüße!
ich hatte vorhin schonmal einen Thread aufgrund eines Problems mit Icinga2 und mittlerweile rausgefunden das ein Plugin mithilfe der PhP Variable $_SERVER["SERVER_NAME"] eine URL erzeugt.
Soweit ich das richtig rausgefunden habe wird diese Variable anhand der in den Configs gesetztem "ServerName" bei Apache gesetzt.
Diese habe ich Global in meinem Apache gesetzt in der apache2.conf unter /etc/apache2
Trotzdem beinhaltet die Variable die IP meines Servers und nicht die fqdn.
Die IP wird sonst nirgendswo bei Apache2 von Hand gesetzt, weiß jemand wo ich noch gucken könnte warum die Variable nicht richtig gesetzt wird?
Grüße!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 7547603798
Url: https://administrator.de/forum/apache2-php-server-variable-servername-gibt-host-ip-aus-7547603798.html
Ausgedruckt am: 22.12.2024 um 01:12 Uhr
9 Kommentare
Neuester Kommentar
Hi.
Ich würde es gegentesten: auf deinen Testsites ServerName angeben und in der apache2.conf auf default lassen.
Wenns geht, zieht das.
Dann bei deinen Testsites KEINEN ServerName angeben und diesen in der apache2.conf setzen.
Wenn nun wieder eine IP geliefert wird, weißte Bescheid.
Habe das bislang immer bei jeder Sites autark gesetzt. (ist allerdings schon ne Weile her dass der langsame Apache genutzt wurde).
Gruß
Global
Ich bin mir gerade nicht 100% sicher, ob das Global geht.Ich würde es gegentesten: auf deinen Testsites ServerName angeben und in der apache2.conf auf default lassen.
Wenns geht, zieht das.
Dann bei deinen Testsites KEINEN ServerName angeben und diesen in der apache2.conf setzen.
Wenn nun wieder eine IP geliefert wird, weißte Bescheid.
Habe das bislang immer bei jeder Sites autark gesetzt. (ist allerdings schon ne Weile her dass der langsame Apache genutzt wurde).
Gruß
Moin.
=> Serverkonfiguration, Virtual Host
Zeppel
Soweit ich das richtig rausgefunden habe wird diese Variable anhand der in den Configs gesetztem "ServerName" bei Apache gesetzt.
Ist UseCanonicalName = On auch in Serverkonfiguration, Virtual Host oder Verzeichnis gesetzt? Per Default ist das nämlich aus.Zitat von @6376382705:
https://httpd.apache.org/docs/2.4/de/mod/core.html#servernameGlobal
Ich bin mir gerade nicht 100% sicher, ob das Global geht.=> Serverkonfiguration, Virtual Host
Zeppel
Zitat von @Khavatari:
Das hat schonmal geholfen, jetzt kommt der Hostname bei raus, Problem ist nur das anscheinend der Link der erzeugt wird trotzdem noch die IP hat.
Wenn ich den Code von dem Framework verstehe nimmt er entweder die SERVER_NAME Variable oder die HTTP_HOST Variable, zweiteres wird noch als IP ausgegeben.
Gibt es da auch eine Möglichkeit das diese den Hostnamen ausgibt?
HTTP_HOST wird vom Client im Host-Header bei jeder Anfrage übermittelt da hat der Server nichts mit zu tun ... Da ist dein Browser schuld.Das hat schonmal geholfen, jetzt kommt der Hostname bei raus, Problem ist nur das anscheinend der Link der erzeugt wird trotzdem noch die IP hat.
Wenn ich den Code von dem Framework verstehe nimmt er entweder die SERVER_NAME Variable oder die HTTP_HOST Variable, zweiteres wird noch als IP ausgegeben.
Gibt es da auch eine Möglichkeit das diese den Hostnamen ausgibt?
Zitat von @Khavatari:
Falls das relevant ist, da ist ne Sophos zwischen die als Reverse Proxy dient, kann das sein das die den Header modifiziert bzw. den Original Header nicht durchreicht?
Das wird wohl das Problem sein. Das sollte man dort auf jeden Fall in den Header-Settings berücksichtigen das dieser weiter gereicht wird.Falls das relevant ist, da ist ne Sophos zwischen die als Reverse Proxy dient, kann das sein das die den Header modifiziert bzw. den Original Header nicht durchreicht?
Pass host header Select to forward the host header requested by the client to the web server.
You can use this to match the requested hostname with the web server when you've hosted more than one website on a server.
https://doc.sophos.com/nsg/sophos-firewall/18.5/help/en-us/webhelp/onlin ...You can use this to match the requested hostname with the web server when you've hosted more than one website on a server.
👌. Dann kann das Wochenende ja kommen.