我有幾台運行 Apache 2.4 的 Cento7 機器。它們位於負載平衡器後面。負載平衡器將 X-Forwarded-For 標頭與客戶端 IP 一起傳遞。為了讓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?