Wenn der Apache Webserver hinter einem Reverse Proxy Server steht, dann werden in der Default Konfiguration nicht mehr die richtigen Clients sondern nur noch der Proxy angezeigt! Babei ist es egal ob der Reverse Proxy ein anderer Apache, NGINX oder Squid ist. Eigentlich setzten die meisten Reverse Proxy Server zwar den X-Forwarded-For Header (Was auch richtig ist), aber die normale Apache Log Konfiguration kann damit erstmal nicht viel Anfangen.
Das ist Ärgerlich:
- Tools zum Auswerten von Logfiles zeigen nie die echten Clients an.
- Eine Einschränkung auf IP Basis ist ein Problem.
Aber Das kann relativ einfach behoben werden:
LogFormat "%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-agent}i"" combined
LogFormat "%{X-Forwarded-For}i %l %u %t "%r" %s %b "%{Referer}i" "%{User-agent}i"" combined_forwarded
# Log the originating ip if use a proxy
SetEnvIfNoCase X-Forwarded-For "." from_proxy=1
CustomLog /var/log/apache2/access.log combined env=!from_proxy
CustomLog /var/log/apache2/access.log combined_forwarded env=from_proxy
Damit sollten dann wieder die richtigen Clients im Logfile auftauchen.
[...] habe gerade auf hochwald.net einen Artikel zum Thema Hinter einem Reverse Proxy die richtigen Besucher im Apache Log anzeigen veröffentlicht. [...]