X-Forwarded-For Header - Durch Proxy maskierte Client IP in Apache Logfile loggen

Aus Carl-Christian Sautter - Wiki
Wechseln zu: Navigation, Suche

Häufig werden Proxyserver verwendet um die Serverlast zu minimieren. Nachteil ist, dass die Quell IP Adressen der Clients maskiert werden. Ein Proxy Server übermittelt die Original IP Adresse des Clients aber meist im so genannten X-Header. Um die IP Adresse aus dem X-Header statt der Proxy IP zu loggen sind einige Anpassungen am Apache Server notwendig.

In der Apache vHost Konfiguration sollten folgende Einstellungen ergänzt 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\"" proxy
SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded
CustomLog "/tmp/access_log3" combined env=!forwarded
CustomLog "/tmp/access_log3" proxy env=forwarded