Apache 2.4 を実行している Cento7 マシンが数台あります。これらはロード バランサーの背後にあります。ロード バランサーはクライアント IP を含む X-Forwarded-For ヘッダーを渡します。mod_evasive が実際のクライアント IP を使用するように、mod_remoteip を有効にしました。
これがmod_remoteipの設定です
RemoteIPHeader X-Forwarded-For
Apacheがこの形式を使用して実際のクライアントIPをログに記録しているのを見ると、動作していることが確認できます。
LogFormat "%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""
しかし、mod_evasiveは依然としてロードバランサーIPを使用しているようです。mod_evasiveの設定は次のとおりです。
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
DOSLogDir "/opt/logs/mod_evasive"
ログ ファイルを で生成します/opt/logs/mod_evasive
。ファイル名は のままですdos-<load balancer IP>
。
mod_evasive で実際のクライアント IP を使用するにはどうすればよいでしょうか?