Parece que os contadores usados pelo mod_evasive não são compartilhados entre processos. Por isso, cada vez que o mpm_prefork gera um novo processo, os contadores voltam a 0.
Uma forma de fazer o mod_evasive funcionar com o mpm_prefork é:
- StartServers = MaxRequestWorkers = MaxSpareServers (para que todos os processos sejam criados na inicialização e nenhum novo processo seja criado ou eliminado)
-
MaxConnectionsPerChild 0
(Portanto, os processos não serão reciclados. No entanto, isso pode ser perigoso em caso de vazamento de memória, portanto, você deve usar um valor grande em vez de 0) - Divide DOSPageCount e DOSSiteCount pelo número de processos do servidor
Isso se baseia apenas no comportamento que eu pude observar em meu próprio servidor e deve ser testado com cuidado.