我想根据IP地址设置单个客户端IP地址对我的服务器的请求数量限制. Nginx有一个limit_req_zone指令.但是,该指令实际上会限制平均命中率.如果我将我的限制设置为rate = 6r / m,它实际上每10秒只允许一次命中.
相反,我需要的是每分钟的实际限制.例如.客户端应该能够在彼此之后或甚至同时快速地发出3或4个请求,但不能超过例如每分钟10次.有没有办法做到这一点?
最佳答案
啊我认为这可以通过在limit_req wiki底部描述的nodelay设置来完成:
如果不需要在突发中延迟多余请求,则应使用nodelay选项:
limit_req zone=one burst=5 nodelay;