Apache ロギング - X-Forwarded-for は Virtualhost と一緒に使用された場合は記録しません。

Apache ロギング - X-Forwarded-for は Virtualhost と一緒に使用された場合は記録しません。

私はApache/2.4.27を使用しています。

VirtualHostは、次のコマンドを使用してロードバランサーのリモートクライアントIPヘッダーを渡します。

RemoteIPHeader X-Forwarded-For

このWebホストによって提供されるアプリケーションにはこれが必要です。

これは、デフォルトのhttpd.confコンテキストのログ形式です。

LogFormat "%h (%{X-Forwarded-For}i) %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

仮想ホストにこれをリストすると、RemoteIPHeader X-Forwarded-ForApacheはリモートクライアントIPのログへの書き込みを停止します。

VirtualHostから削除すると、リモートクライアントIPがログに再び表示され始めました。

どんなアイデアがありますか?

ありがとうございます!

答え1

mod_remoteipを使用している場合は、%aをこの形式に戻します。

Bugzillaでは、mod_remoteipは%{X-Forwarded-For}iから削除しながら%aを埋めます。したがって、信頼できるプロキシがある単純な場合、%aはX-Forwarded-Forに示されている値として保存されます。なぜならmod_remoteip

関連情報