2012-09-03 17 views
10

私は、逆プロキシであるCloudflareの背後にあるウェブサイトを持っています。つまり、アクセスログには1つまたは2つのIPアドレスしか取得できません。Apache2アクセスログにHTTPヘッダを記録する

しかし、Cloudflareはリクエストヘッダー内に訪問者のIPアドレスを提供していますが、アクセスログに標準のものの代わりにログすることができます。

私はCustomLogの使い方を知っていますが、ApacheのアクセスログにHTTPヘッダーを保存する方法はありますか?

ありがとうございました。

答えて

17

エイ - ドキュメントを見て -

あなたを正味ます
%{Foobar}i 

ためhttp://httpd.apache.org/docs/2.2/mod/mod_log_config.html特にエントリー:

foobarの内容:ヘッダ行(複数可)送信された要求でサーバー に送信します。他のモジュール(mod_headersなど)による変更はこれに影響します。 ほとんどの モジュールがそれを変更したときにリクエストヘッダが何であったかに興味がある場合は、mod_setenvifを使用してヘッダ を内部環境変数にコピーし、上記の %{VARNAME} eでログに記録してください。

だから、1は通常、私はのCustomLogエントリに」...%{X-転送さ-FOR-IP}のようないくつかのエントリを追加します。

whateeverする 'X-転送さ-FOR-IP' に置き換えあなたのCloudFlareのサービスは、(通常は「」「CF-接続-IP」「」のようなものである)あなたを取得;例えば

LogFormat "%v %{CF-Connecting-IP}i (via cloudflare:%h) %l %u %t \"%r\" %>s %b" cloudflare 
CustomLog "|rotatelog.. etc" cloudflare 

「のTransferLog」について - のTransferLogディレクティブの近くにノートを参照してください - こと最新の定義済みのバージョンを取得します。

Dw。

関連する問題