nginx: Evitar DoS limitando processos / conexões do trabalhador

2

Se eu limitar meus processos de trabalho nginx a 1 e permitir 500 conexões, o que acontece se eu exceder esse limite? O servidor retorna um serviço 503 indisponível?

Basicamente, estou tentando proteger meu sistema contra DoS e não espere mais de 500 conexões simultâneas por segundo.

    
por Frank Vilea 27.10.2011 / 14:41

1 resposta

5

Quantos núcleos seu servidor possui? Se você tem dois núcleos, eu sugiro que você pode definir 2 trabalhadores e 250 conn. max.

max_clients = worker_processes * worker_connections

E sim, a conexão 501 receberá um erro. Mas tenha cuidado, um navegador abre 2 conexões por padrão.

EDIT: Mais uma coisa, você pode definir um limite máximo de conexão por IP (10 aqui) com

## Max conns for one ip
 limit_zone gulag $binary_remote_addr 5m;
 limit_conn gulag 10;

no /etc/nginx/nginx.conf

    
por 27.10.2011 / 15:16