Nginx怎么实现限速限流

2023-06-25,,

Nginx怎么实现限速限流?针对这个问题,今天小编总结这篇有关Nginx的文章,希望能帮助更多想解决这个问题的朋友找到更加简单易行的办法。

先创建文件denyIP将过滤出的IP写到其中然后在配置文件制定路径

include /usr/local/nginx/conf/denyIP;

zone:=one:10m :设置一个名字为one,大小为100M的缓存空间

m=分钟  s=秒 ,每分钟两千次请求,或每秒钟200次请求

limit_req_zone $binary_remote_addr zone=one:100m rate=2000r/m;    

定义一个名为allips的limit_req_zone用来存储session,大小是50M内存

limit_req_zone $binary_remote_addr zone=allips:50m rate=200r/s;

burst=5:因为流量并不是向漏桶一样每时每刻都是匀速的,所以为了避免某一时刻出现大规模的流量出现,所以添加burst参数,此处配置表示为,设置一个大小为5的缓冲区,当有大量请求(爆发)过来时,访问超过了上面的限制可以先放到缓冲区内。

limit_req zone=one burst=5 nodelay;

关于Nginx实现限速限流的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果喜欢这篇文章,不如把它分享出去让更多的人看到。