Как заставить mod_remoteip и mod_evasive работать вместе

Как заставить mod_remoteip и mod_evasive работать вместе

У меня есть несколько машин Cento7, на которых запущен Apache 2.4. Они находятся за балансировщиком нагрузки. Балансировщик нагрузки передает заголовок 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-адрес клиента?

Связанный контент