Webサーバ(apache)のアクセスログにポート番号を記録する

Webサーバ(Apache)でアクセスログに送信元ポート番号を記録する。

CGN時代のアクセスログ(IPアドレス/ポート番号)

こういう背景もあり、発信者のIPアドレス開示を求められることがあるようなコンテンツ事業者などはアクセスログに送信元IPアドレスと送信元ポート番号も記録しておいた方が良い。

apahceではLogFormatで「%{remote}p」を指定することで送信元ポート番号を出力可能。

LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined

LogFormat "%h %{remote}p %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined

このようにすることで送信元IPアドレス:送信元ポート番号として記録することが可能。

LogFormat "%h:%{remote}p %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined

このようにするのも考えたが、IPv6でもアクセスがあるサーバの場合
IPv4 192.168.1.1:54576
IPv6 2001:db::1:54576
となり、送信元ポート番号がコロン区切りのIPv6アドレスとコロン(:)でつながってしまうため
可読性が落ちるのでスペースにした方が無難と考えられる。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です