リバースプロキシであるCloudflareの背後で実行されているWebサイトがあります。これは、アクセスログで取得するIPアドレスが1つか2つしかないことを意味します。
ただし、Cloudflareはリクエストヘッダーに訪問者のIPアドレスを提供します。これは、アクセスログに標準のIPアドレスの代わりにログに記録できると思います。
使用方法は知ってCustomLog
いますが、ApacheアクセスログにHTTPヘッダーを保存する方法はありますか?
ありがとう。
リバースプロキシであるCloudflareの背後で実行されているWebサイトがあります。これは、アクセスログで取得するIPアドレスが1つか2つしかないことを意味します。
ただし、Cloudflareはリクエストヘッダーに訪問者のIPアドレスを提供します。これは、アクセスログに標準のIPアドレスの代わりにログに記録できると思います。
使用方法は知ってCustomLog
いますが、ApacheアクセスログにHTTPヘッダーを保存する方法はありますか?
ありがとう。
はい-ドキュメントをご覧ください-http://httpd.apache.org/docs/2.2/mod/mod_log_config.html 具体的には
%{Foobar}i
どちらがあなたをネットしますか:
サーバーに送信されたリクエストのFoobar:ヘッダー行の内容。他のモジュール(mod_headersなど)によって行われた変更は、これに影響します。ほとんどのモジュールがリクエストヘッダーを変更する前のリクエストヘッダーに関心がある場合は、mod_setenvifを使用してヘッダーを内部環境変数にコピーし、その値を上記の%{VARNAME}eでログに記録します。
したがって、通常、「...%{X-Forwarded-For-IP}i」のようなエントリをCustomLogエントリに追加します。
'X-Forwarded-For-IP'を、cloudflareサービスが取得するものに置き換えます(通常は'' "CF-Connecting-IP"''のようなものです)。例えば
LogFormat "%v %{CF-Connecting-IP}i (via cloudflare:%h) %l %u %t \"%r\" %>s %b" cloudflare
CustomLog "|rotatelog.. etc" cloudflare
'transferlog'(TransferLogディレクティブの近くの注記を参照)に関しては、最新の定義済みバージョンを取得します。
Dw。