Acelerador ou ignorar solicitações com base em IP

1

Existe algo que eu possa usar para definir regras para que o Apache acelere temporariamente ou ignore qualquer endereço IP que faça X número de solicitações por segundo?

Seria ótimo se houvesse um módulo do Apache para isso. Eu dei uma olhada em mod_bandwidth e mod_limitipconn , mas parece que eles baseiam as coisas na largura de banda, o que é muito difícil para eu determinar a largura de banda em termos de número de solicitações por IP.

Eu ficaria feliz em usar algo externo ao Apache que funcionará em um servidor Linux padrão (Fedora ou CentOS).

    
por Abs 04.08.2011 / 12:08

1 resposta

2

iptables tem módulos de limitação de taxa e de conexão disponíveis:

iptables -I INPUT -m limit --limit X/second -p tcp --dport 80 --syn -j ACCEPT

Observe que isso não limitará o número de solicitações HTTP ; ele limitará o número de conexões TCP, o que pode não corresponder ao número de solicitações HTTP se o navegador estiver usando keep-alive. Observe também que a maioria dos navegadores fará um grande número de conexões paralelas; talvez você queira usar a opção --limit-burst para garantir que os usuários não sejam bloqueados por esse comportamento.

    
por 04.08.2011 / 12:11