这有什么区别:
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
这有什么区别:
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
Answers:
在您的情况下:
平均每秒最多允许不超过30个请求,并且突发不超过5个请求。
参考:http://nginx.org/en/docs/http/ngx_http_limit_req_module.html
就像在http://nginx.org/en/docs/http/ngx_http_limit_req_module.html上所说的爆裂一样
过多的请求将延迟到其数量超过最大突发大小为止
这意味着在您的情况下,前5个请求被“忽略”,仅对6个及以上的请求进行计数。因此,在请求35时达到了30的限制。然后,在来自同一来源的相同1秒内的请求36上,nginx将发送503响应,而不是进一步处理该请求。