Каково определение пакета в настройке Nginx limit_req?


9

Какая разница между этим:

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

а также:

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

Документация http://wiki.nginx.org/HttpLimitReqModule .

Ответы:


1

В твоем случае:

разрешить в среднем не более 30 запросов в секунду, при этом пакеты не превышают 5 запросов.

Ссылка: http://nginx.org/en/docs/http/ngx_http_limit_req_module.html


2
Использование определяемого слова в его определении не очень полезно. Что такое "взрыв" в контексте limit_req? (Другие ответы отвечают на это)
Джахед

15

Как говорится о взрыве на http://nginx.org/en/docs/http/ngx_http_limit_req_module.html

Чрезмерные запросы задерживаются до тех пор, пока их количество не превысит максимальный размер пакета

Это означает, что в вашем случае первые 5 запросов «игнорируются» и учитываются только запросы 6 и выше. Таким образом, по запросу 35 предел 30 достигнут. Затем, по запросу 36 в течение той же 1 секунды, исходящей от того же источника, nginx отправит ответ 503 вместо дальнейшей обработки запроса.


6

Пакет означает, что он будет отложен на следующую секунду. Если количество запросов превышает 30 в секунду, nginx отправляет код ошибки 503.

Взрыв работает как очередь

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.