“limiting connections by zone” Nginx配置导致的503 问题
工作中遇到页面的静态资源请求大量503问题 记录一下 备用

但是服务器负载不高,

报错日志出现了 “limiting connections by zone” 区域(zone)中限制了客户端的连接数
http {
limit_conn_zone $binary_remote_addr zone=test:10m;
limit_conn_zone $server_name zone=testserver:10m;
...
server {
...
location / {
limit_conn test 2;
limit_conn testserver 20;
...
}
}
}
test 限制域 对每个客户端 IP 地址( b i n a r y _ r e m o t e _ a d d r )和服务器名( binary\_remote\_addr)和服务器名( binary_remote_addr)和服务器名(server_name )分别施加连接数限制。
参考的解决方式:
https://www.xianlewang.cn/article/details/20221121001411144400
问题原因:
全站的并发高之后服务器负载高,服务器处理不过来,所以对于单个IP请求一个页面的时候还未处理完成,再次刷新或者跳转别的页面的时候又加入的新的多次请求(包括各种静态文件的请求),所以服务器存在的请求超出了单个IP并发配置的限制。
解决办法:
修改nginx单个IP并发限制的配置,翻倍提升单个IP并发数限制数
比如将nginx.conf配置文件的server部分配置修改:
// 单个IP并发数限制
server{
limit_conn test 20;
limit_conn testserver20;
}
3134

被折叠的 条评论
为什么被折叠?



