You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users-de@httpd.apache.org by Johannes Kreuzhuber <kr...@gmx.net> on 2004/01/16 19:05:06 UTC

Apache log von client IP auf X-Forwarded Header umstellen

ich möchte webalizer als statistik tool einsetzten
da ich pound als http forwarder auf meinem firewall rechner einsetzt

bekomme ich in die Logs die client-ip addresse
es kommt in der statistik also nur ein rechner vor

jetzt habe ich folgenden lösungs ansatz beschrieben bekommen

Die Lösung zum problem ist also ganz einfach: Du musst nur die
Apachekonfiguration dahingehend ändern, dass der X-Forwarded Header
ins logfile kommt, anstatt der client-ip addresse, und alles andere
funkt wie geschmiert. 

Nur wie mache ich das  ich habe da keine für mich ausführbare 
erklärung im netz bekommen

hoffe hier kann mir wer helfen

johannes Kreuzhuber

-- 
+++ GMX - die erste Adresse für Mail, Message, More +++
Bis 31.1.: TopMail + Digicam für nur 29 EUR http://www.gmx.net/topmail


--------------------------------------------------------------------------
                Apache HTTP Server Mailing List "users-de" 
      unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
           sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------


RE: Apache log von client IP auf X-Forwarded Header umstellen

Posted by Peter Stoehr <st...@pinkmarketing.at>.
Hallo Johannes,

> -----Original Message-----
> From: Johannes Kreuzhuber [mailto:kreuzhuber@gmx.net]
> Sent: Friday, January 16, 2004 7:05 PM
> To: users-de@httpd.apache.org
> Subject: Apache log von client IP auf X-Forwarded Header umstellen
> 
> 
[..]
> bekomme ich in die Logs die client-ip addresse
> es kommt in der statistik also nur ein rechner vor
[..]
> Nur wie mache ich das  ich habe da keine für mich ausführbare 
> erklärung im netz bekommen

Proxies schicken hin und wieder auch X-Forwarded-For mit. Um das zu filtern habe ich folgende Einstellung:
_Regelwerk_:
1: gibt es ein X-Forwarded-For-Feld, die X-Forwarded-For-IP loggen (proxy)
2: ist diese IP jedoch eine interne (zb: 192.168.1.90), nicht loggen (!proxy)
3: ist kein X-Forwarded-For-Feld vorhanden, die Standard-IP loggen (->LogFormat %a)

----8<----8<-----

SetEnvIfNoCase X-Forwarded-For ^([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)$ proxy
SetEnvIfNoCase X-Forwarded-For ^10\.([0-9]+)\.([0-9]+)\.([0-9]+)$ !proxy
SetEnvIfNoCase X-Forwarded-For ^172\.16\.([0-9]+)\.([0-9]+)$ !proxy
SetEnvIfNoCase X-Forwarded-For ^172\.17\.([0-9]+)\.([0-9]+)$ !proxy
SetEnvIfNoCase X-Forwarded-For ^172\.18\.([0-9]+)\.([0-9]+)$ !proxy
SetEnvIfNoCase X-Forwarded-For ^172\.19\.([0-9]+)\.([0-9]+)$ !proxy
SetEnvIfNoCase X-Forwarded-For ^172\.20\.([0-9]+)\.([0-9]+)$ !proxy
SetEnvIfNoCase X-Forwarded-For ^172\.21\.([0-9]+)\.([0-9]+)$ !proxy
SetEnvIfNoCase X-Forwarded-For ^172\.22\.([0-9]+)\.([0-9]+)$ !proxy
SetEnvIfNoCase X-Forwarded-For ^172\.23\.([0-9]+)\.([0-9]+)$ !proxy
SetEnvIfNoCase X-Forwarded-For ^172\.24\.([0-9]+)\.([0-9]+)$ !proxy
SetEnvIfNoCase X-Forwarded-For ^172\.25\.([0-9]+)\.([0-9]+)$ !proxy
SetEnvIfNoCase X-Forwarded-For ^172\.26\.([0-9]+)\.([0-9]+)$ !proxy
SetEnvIfNoCase X-Forwarded-For ^172\.27\.([0-9]+)\.([0-9]+)$ !proxy
SetEnvIfNoCase X-Forwarded-For ^172\.28\.([0-9]+)\.([0-9]+)$ !proxy
SetEnvIfNoCase X-Forwarded-For ^172\.29\.([0-9]+)\.([0-9]+)$ !proxy
SetEnvIfNoCase X-Forwarded-For ^172\.30\.([0-9]+)\.([0-9]+)$ !proxy
SetEnvIfNoCase X-Forwarded-For ^172\.31\.([0-9]+)\.([0-9]+)$ !proxy
SetEnvIfNoCase X-Forwarded-For ^172\.32\.([0-9]+)\.([0-9]+)$ !proxy
SetEnvIfNoCase X-Forwarded-For ^172\.33\.([0-9]+)\.([0-9]+)$ !proxy
SetEnvIfNoCase X-Forwarded-For ^192\.168\.([0-9]+)\.([0-9]+)$ !proxy

LogFormat "%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
#
# und schliesslich die Logformate fuer X-Forwarded-For
#
# combined_proxy: normales access-logging
# combined_allproxy: eigener proxy-log zur Kontrolle
#
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined_proxy
LogFormat "%{X-Forwarded-For}i via %a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined_allproxy

<Virt.Host>
...
CustomLog "|/usr/bin/cronolog /var/www/example.com/logs/access_log.%Y%m%d" combined env=!proxy
CustomLog "|/usr/bin/cronolog /var/www/example.com/logs/access_log.%Y%m%d" combined_proxy env=proxy
CustomLog "|/usr/bin/cronolog /var/www/example.com/logs/proxy_log.%Y%m%d" combined_allproxy env=proxy
LogFormat combined
ErrorLog "|/usr/bin/cronolog /var/www/example.com/logs/error_log.%Y%m%d"
...
</Virt.Host>

----8<----8<-----

Greets, Peter



--------------------------------------------------------------------------
                Apache HTTP Server Mailing List "users-de" 
      unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
           sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------