Quelle est la différence entre cela:
limit_req_zone $binary_remote_addr zone=flood:10m rate=30r/s;
limit_req zone=flood nodelay
et:
limit_req_zone $binary_remote_addr zone=flood:10m rate=30r/s;
limit_req zone=flood burst=5 nodelay
Documentation http://wiki.nginx.org/HttpLimitReqModule .
Comme il est dit sur burst sur http://nginx.org/en/docs/http/ngx_http_limit_req_module.html
Cela signifie que dans votre cas, les 5 premières demandes sont «ignorées» et seules les demandes 6 et plus sont comptées. Donc sur demande 35 la limite de 30 est atteinte. Ensuite, à la demande 36 dans la même 1 seconde provenant de la même origine, nginx enverra une réponse 503 au lieu de traiter la demande plus loin.
la source
Burst signifie qu'il sera retardé pendant la seconde suivante, s'il y a un excès de 30 requêtes / seconde, alors nginx envoie le code d'erreur 503.
Burst fonctionne comme une file d'attente
la source