limit_req_zone不适用于/login路线

我想要允许每个IP 10个请求/分钟。 不应该拖延要求,不要爆发。 我严格地希望允许10个请求/分钟。

limit_req_zone $binary_remote_addr zone=login:10m rate=10r/m; limit_req_status 429; server { location /login { limit_req zone=login nodelay; } # ... } 

但看着我的开发者控制台,限制不能按预期工作(所有请求都在1分钟内完成)。 第二个请求已被拒绝。

在这里输入图像说明

我期望它看起来像(10成功的请求,然后429,直到一分钟过去了):

在这里输入图像说明

根据我对文档的阅读,我build议你尝试添加一个突发参数。 你可以尝试删除“nodelay”,看看会发生什么。

 limit_req zone=login burst=5 nodelay;