Como fazer mod_remoteip e mod_evasive funcionarem juntos

Como fazer mod_remoteip e mod_evasive funcionarem juntos

Tenho várias máquinas Cento7 rodando Apache 2.4. Eles estão atrás de um balanceador de carga. O balanceador de carga passa o cabeçalho X-Forwarded-For com o IP do cliente. Para que o mod_evasive use o IP real do cliente, habilitei o mod_remoteip.

Aqui está minha configuração para mod_remoteip

RemoteIPHeader X-Forwarded-For

Posso confirmar que está funcionando, pois vejo que o Apache registra o IP real do cliente usando este formato

LogFormat "%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""

No entanto, o mod_evasive parece ainda usar o IP do balanceador de carga. Aqui está a configuração do mod_evasive

 DOSHashTableSize 3097
 DOSPageCount 2
 DOSSiteCount 50
 DOSPageInterval 1
 DOSSiteInterval 1
 DOSBlockingPeriod 10
 DOSLogDir "/opt/logs/mod_evasive"

Ele gera arquivos de log em /opt/logs/mod_evasive, os arquivos ainda são nomeados com dos-<load balancer IP>.

Como fazer com que o mod_evasive use o IP real do cliente?

informação relacionada