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实现限速限流的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果喜欢这篇文章,不如把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。