Nginx--限速

Nginx限制IP的连接和并发:
速率限制:limit_req_zone 限制单位时间内的请求数量
并发限制:limit_conn_zone 限制同一时间内连接数量

http{
	#基于IP做连接限制,限制同一IP并发为1,下载速率为100k
	limit_conn_zone $binary_remote_addr  zone=addr:100k  
	#基于IP对下载速率做限制,限制每秒处理一个请求,并发超过5个的请求放入缓冲区
	limit_req_zone $binary_remote_addr  zone=mylimit:10m  rate=1r/s;
	#binary_remote_addr  限制同一客户端IP地址
	#zone=mylimit:10m  生成一个大小为10m,名字为zone的内存区域,用来存储访问的频次信息
	# rate=1r/s  允许相同标识的客户端的访问频次为每秒1次
server{
	location /getFile/{
		limit_req zone=mylimit burst=5 nodelay;
		#zone=mylimit  设置使用哪个配置区域来做限制,与上面的zone对应
		#burst=5  设置一个大小为5的缓冲区,当大量请求进来时,超过访问频次的请求先放入缓冲区
		#nodelay  超过访问凭此且缓冲区已满,直接返回503,若不进行该配置,则所有请求将进行排队等候
		limit_conn addr 1;#限制同一IP并发为1
		limit_rate 100k;#限制下载速率为100k
		limit_rate_after 10m;#前10M不进行限速
		}
	}
}

基于IP做连接限制

在这里插入代码片
发布了34 篇原创文章 · 获赞 1 · 访问量 532

猜你喜欢

转载自blog.csdn.net/weixin_42440154/article/details/96172537