从 14.04 升级到 16.04 后,nginx 错误 502: bad gateway,直到 nginx 重新启动

从 14.04 升级到 16.04 后,nginx 错误 502: bad gateway,直到 nginx 重新启动

正如标题所示,我将 ubuntu 服务器 14.04 升级到了 16.04。我使用 nginx 作为我的 Web 服务器,并且还运行 java/tomcat 服务器,在我的 nginx 配置中将其设置为 proxy_pass。

自升级以来,每次服务器启动时,nginx 都会502: Bad Gateway在尝试连接到 proxy_pass 站点时显示错误。我的配置中指定的所有其他站点均按预期运行。

为了解决这个问题,我必须sudo systemctl restart nginx,之后,proxy_pass 服务才能正常工作。

我不想每次启动时都要重新启动 nginx。如何解决这个问题?

答案1

24 小时后,我在 serverfault 上交叉发布了这个问题,并且我将在这里包含针对我这个特定问题的解决方案,以供后人参考。

在我的配置中,相关 nginx 位置块的 proxy_pass 指令指出:

proxy_pass http://localhost:4040;

然而,上游服务实际上绑定到了 ipv4 地址,并且启动速度也比 nginx 慢。

当 nginx 检查上游服务器的状态时,其连接被拒绝。此后,当 nginx 尝试重新检查上游服务器的状态时,它继续仅检查 IPV6 地址 [::1]。

为了解决这个问题,我指定了 ipv4 地址 (127.0.0.1) 而不是 localhost,从而强制 nginx 仅使用 ipv4。现在一切都按预期运行。

相关内容