前言:
目前看官们对“nginx限制url访问频率”大概比较注重,兄弟们都需要知道一些“nginx限制url访问频率”的相关内容。那么小编也在网络上搜集了一些有关“nginx限制url访问频率””的相关知识,希望我们能喜欢,姐妹们一起来学习一下吧!Nginx配置限流
Nginx有限流功能,是基于漏桶算法实现的
limit_req_zone是配置在http模块中的
#设置限流 zone用来定义ip状态和url访问频率的共享区域,其中mylimit为区域名称,冒号后为区域大小,16000个IP地址的状态信息大约是1M,rate为最大请求速率(如每分钟一个请求)limit_req_zone $binary_remote_addr zone=mylimit:1m rate=1r/m;
limit_req是配置在location块、server块、http块中
# 请求限流 zone为上述定义的区域名称 burst为排队大小 nodelay表示不限制单个请求的延迟时间limit_req zone=mylimit burst=10 nodelay;burst作用
漏桶算法是匀速的,如上述的示例rate=1r/m,每分钟就只漏出一个请求,如果一分钟来了很多的请求,就只能处理一个,其他的都抛弃掉。
但是burst的配置可以使用FIFO队列可以将请求缓存起来,只有队列满了才会拒绝新的请求,默认情况下就算进了队列也是按照rate速率来执行的,每分钟执行一个
delay作用
由于排队执行,延迟大大增加,可以使用delay来进行设置,首先nodelay表示没有延迟,在队列里的也是直接就执行
由于没有延时了,导致同一时刻要同时处理漏出来的以及队列中的,那么如何控制并发数呢,可以使用delay来进行精确地配置
limit_req zone=mylimit burst=10 delay=5;
上述配置delay=5表示从队列中的第6个请求开始延时,这样可以控制并发的数量
服务器/Nginx/8.配置限流/
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #nginx限制url访问频率