Qual é a definição de uma explosão na configuração Nginx limit_req?


9

Qual é a diferença entre isso:

limit_req_zone $binary_remote_addr zone=flood:10m rate=30r/s;
limit_req zone=flood nodelay

e:

limit_req_zone $binary_remote_addr zone=flood:10m rate=30r/s;
limit_req zone=flood burst=5 nodelay

Documentação http://wiki.nginx.org/HttpLimitReqModule .

Respostas:



15

Como diz o burst em http://nginx.org/en/docs/http/ngx_http_limit_req_module.html

Solicitações excessivas são adiadas até que seu número exceda o tamanho máximo de intermitência

Isso significa que, no seu caso, as 5 primeiras solicitações são 'ignoradas' e apenas as solicitações 6 e superiores são contadas. Portanto, a pedido 35, o limite de 30 é atingido. Em seguida, no pedido 36 dentro do mesmo 1 segundo proveniente da mesma origem, o nginx enviará uma resposta 503 em vez de tratar o pedido ainda mais.


6

Burst significa que será adiado pelo próximo segundo, se houver um excesso de 30 solicitações / segundo, o nginx enviará o código de erro 503.

O Burst funciona como uma fila

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.