回答
收藏
分享
举报
upstream max_fails=0 server仍然被置为disabled
提问于2023-05-24 20:14

浏览 1.8k

文章标签

如题,我们的upstream下面挂载了两个server,且两个server的max_fails都设为0

upstream {
    server xxx max_fails=0;
    server xxx max_fails=0;
}

但在实际使用的是否发现每次error或者timeout的情况下server都会被置为disabled

我查看源码发现不应该是这样的

有人可以解答一下吗

已修改于2023-05-24 20:14



写下您的回答
发表回答
全部回答(1)

按点赞数排序

按时间排序

根据提供的信息,您似乎遇到了一个问题,即尽管将max_fails参数设置为0,但上游块下的服务器在遇到错误或超时后仍被禁用。根据您的理解和检查的源代码,这种行为与预期的功能不一致。




要解决此问题,可以考虑以下步骤:




1. 验证NGINX配置:仔细检查NGINX的配置文件,以确保没有可能影响上游块行为的冲突设置或指令。请注意可能影响服务器运行状况检查或故障切换行为的任何其他相关参数。




2. 检查NGINX错误日志:检查NGINX错误日志以识别与上游块或服务器运行状况检查相关的任何错误消息或警告。日志可能会深入了解服务器被禁用的原因。




3. 测试服务器可用性:通过向上游块中的每个服务器各自的端点发出直接请求,手动测试它们的可用性和响应能力。这将有助于确定服务器本身是否正常运行,或者是否存在导致错误或超时的任何网络相关问题。




4. 检查代理服务器或负载平衡器:如果NGINX前面有代理服务器或负荷平衡器,请检查其配置和设置,以确保它不会覆盖或干扰上游块的行为。检查是否存在任何可能导致服务器被禁用的运行状况检查设置或超时值。




5. 咨询NGINX社区:如果您无法通过上述步骤解决问题,请向NGINX团体寻求帮助。分享您的具体配置、错误日志和任何相关详细信息,以从可能遇到类似问题的其他NGINX用户或开发人员那里获得见解。




在进行任何更改之前,请记住备份您的NGINX配置文件,并考虑在受控环境中测试更改,以避免对生产系统造成潜在干扰。

赞同

0

回复举报

回答于2023-06-12 17:50



回复名蒸蛋·柯南
回复
提问者
ukco
这家伙很懒还未留下介绍~
0
文章
1
问答
0
粉丝
相关问答

options请求?需要跨域访问? 

点赞 0
浏览 8.7k

sticky模块只能在linux下吧,win下没有。tomcat好像有个session复制吧,或者可以用共享session。

点赞 0
浏览 8.5k

没办法完全不受影响的,因为mirror是子请求,当子请求未结束时,主请求消耗的内存至少是无法释放的。你可以尝试在/mirror里,把超时时间大幅度调低,包括connect/read/send,再压下看看。

点赞 0
浏览 11.3k