【TIPS】オリジンのアクセスログにウェブアクセラレータのIPアドレスではなく接続元のIPアドレスを記録したい¶
[更新: 2024年12月16日]
オリジンサーバのアクセスログに接続元のIPアドレスを記録する方法に関するページです。
ウェブアクセラレータを利用するとウェブアクセラレータのキャッシュサーバを経由してオリジンサーバへ接続されます。
そのため、アクセスログにはキャッシュサーバのIPアドレスが記録され、接続元のIPアドレスは記録されません。
ウェブアクセラレータからオリジンサーバへの接続時に、「接続元のIPアドレス」などの情報を渡すために、下記のリクエストヘッダの値として情報を記録しています。
こちらを利用することでアクセスログに接続元IPアドレスなどを記録することができます。
注意
オリジンサーバの仕様により、特定のリクエストヘッダーの値が上書きされている場合、その値を取得できないことがあります。ご利用中のオリジンサーバの仕様をご確認ください。
ヘッダ名 | 値 |
---|---|
X-Real-IP | 【接続元IPアドレス】 |
X-WebAccel-Viewer-Address | 【接続元IPアドレス】:【接続元ポート番号】 |
X-Forwarded-For | 【接続元IPアドレス 1】, 【接続元IPアドレス 2】, … (追記形式) |
Apache利用の場合¶
httpd.confに以下の記述をすることで接続元のIPアドレスが記録されるようになります。
RemoteIPHeader X-Real-IP
RemoteIPTrustedProxy 133.167.4.0/24 153.121.0.0/24 59.106.229.64/27
注釈
アクセスログフォーマット %h(リモートホスト) は mod_remoteip の書き換え対象外です。
%a(リモートIPアドレス) をログ出力にご利用ください。
注意
ウェブアクセラレータのIPアドレスは追加になることがあります。 こちら をご参照ください。
nginx利用の場合¶
nginx.confに以下の記述をすることで、接続元のIPアドレスが記録されるようになります。
※ X-WebAccel-Viewer-Addressを指定する場合は接続元ポート番号も記録されるようになります。
real_ip_header X-Real-IP;
set_real_ip_from 133.167.4.0/24;
set_real_ip_from 153.121.0.0/24;
set_real_ip_from 59.106.229.64/27;
または
real_ip_header X-WebAccel-Viewer-Address;
set_real_ip_from 133.167.4.0/24;
set_real_ip_from 153.121.0.0/24;
set_real_ip_from 59.106.229.64/27;
注意
ウェブアクセラレータのIPアドレスは追加になることがあります。 こちら をご参照ください。