2011-05-30

Apacheのログにプロキシ経由前の元IPアドレスを出力する

単純には、LogFormatの設定のところで%hの代わりに%{X-Forwarded-For}iと書いてあげれば出力される訳ですが、これだとプロキシを経由していない場合IPアドレスのところがカラになってしまいます。
そんな訳で、プロキシを経由してるときだけ元のIPアドレスを出力するようにってことでこんな感じにすれば良さそうヾ(*・∀・)ノ"
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" forwarder
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" is-forwarder

CustomLog logs/access_log combined env=!is-forwarder
CustomLog logs/access_log forwarder env=is-forwarder

0 件のコメント:

コメントを投稿