limites de taxa lighttpd por diretório

1

Estou criando um site com um grande número de pequenas ferramentas. Uma delas é uma ferramenta que usa um script cgi em Python que interage com o Natural Language Toolkit (nltk), que é intensivo em disco e CPU. Eu tenho outros serviços que são menos intensivos.

No lado do cliente, essas taxas são limitadas com a otimização de JavaScript. Um usuário mal-intencionado ou burro que cria um bot pode fazer conexões diretamente. Eu gostaria de evitar isso no nível mais baixo possível, mas eu preciso que ele seja per-directory (os scripts cgi ficam próximos aos arquivos index.html).

Eu também terei um firewall que bloqueia IPs abusivos fazendo solicitações de eminência. Eu gostaria que isso retornasse uma resposta 429 simples com um objeto JSON vazio como corpo.

Eu também gostaria de incluir outras regras, como um tempo de 30 segundos para receber / transmitir, ou então fechar a conexão.

Como posso implementar isso em um servidor lighttpd no Debian?

    
por FakeRainBrigand 11.08.2013 / 06:44

1 resposta

2

Para responder diretamente à sua pergunta, dê uma olhada em ModEvasive e Traffic Shaping do Lighttpd.

Como alternativa / além do que você mencionou, você deve ser capaz de controlar as conexões por segundo usando as regras do iptables.

E, finalmente, considere o uso de algum tipo de mecanismo de fila de aplicativo (mensagem). Dessa forma, independentemente de quantos pedidos você chegar ao seu endpoint da interface web / api, a fila garantirá que apenas o número desejado de tarefas nltk paralelas será executado ao mesmo tempo.

    
por 11.08.2013 / 08:44