Nginx在用于负载平衡时没有故障转移



我们使用Nginx来平衡两个上游应用服务器之间的负载,我们希望在部署到其中时能够关闭其中一个。我们发现,当我们关闭其中一台时,Nginx不会故障转移到另一台。它不断发送请求并记录错误。

我们的上游指令格式为:

upstream app_servers {
    server 10.100.100.100:8080;
    server 10.100.100.200:8080;
}

我们从阅读Nginx文档中了解到,我们不需要明确指定"max_fails"或"fail_timeout",因为它们有合理的默认值。(即max_fails为1)。

知道我们这里可能缺少什么吗?

非常感谢。

根据文档。。。

max_fails=NUMBER-通信尝试失败的次数在时间段内使用服务器(由参数指定fail_timeout),之后它被认为是不工作的。如果未设置,尝试次数为一次。值为0将关闭此检查。什么被视为故障是由proxy_next_eupstream定义的,或者fastcgi_next_upstream(http_404错误除外,这些错误不计算在内朝向max_fails)。

根据文档,故障由proxy_next_upstream或fastcgi_ext_upsttream定义。

它不断发送请求并记录错误。

请检查日志记录的错误类型,如果不是默认类型(错误或超时),则您可能希望在proxy_next_upstream或fastcgi_ext_upsttream中专门定义它。

最新更新