khavatari
Goto Top

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!

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

6376382705
6376382705 16.06.2023 aktualisiert um 13:06:55 Uhr
Goto Top
Hi.

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ß
7426148943
Lösung 7426148943 16.06.2023 aktualisiert um 13:15:38 Uhr
Goto Top
Moin.
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:
Global
Ich bin mir gerade nicht 100% sicher, ob das Global geht.
https://httpd.apache.org/docs/2.4/de/mod/core.html#servername
=> Serverkonfiguration, Virtual Host

Zeppel
Khavatari
Khavatari 16.06.2023 um 13:16:46 Uhr
Goto Top
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?
7426148943
7426148943 16.06.2023 aktualisiert um 13:25:42 Uhr
Goto Top
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.
Khavatari
Khavatari 16.06.2023 um 13:28:08 Uhr
Goto Top
Wieso wird dann die lokale IP von meinem Server da rein gesetzt in den HTTP_HOST wenn ich mit meinem Handy die Seite über das Mobilfunknetz aufrufe?
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?
7426148943
Lösung 7426148943 16.06.2023 aktualisiert um 13:48:39 Uhr
Goto Top
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.
7426148943
7426148943 16.06.2023 aktualisiert um 13:39:46 Uhr
Goto Top
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 ...
Khavatari
Khavatari 16.06.2023 um 16:23:05 Uhr
Goto Top
Das mit der Sophos war das Problem, dort musste ich bei dem Webserver das durchreichen den Client Headers einstellen, nun passt es und das Problem ist gelöst.

Vielen dank nochmal für die Hilfe face-smile
7426148943
7426148943 16.06.2023 aktualisiert um 16:24:52 Uhr
Goto Top
👌. Dann kann das Wochenende ja kommen.