NGINX 间歇 502 , conncetion refused

2022-12-01 22:23:34 +08:00
 xiaoyuesanshui

家用小服务器跑了几个 web 和 php 服务(绝大部分通过 docker 部署),通过 nginx 反代稳定运行半年左右

近期所有服务均出现了间歇 502 ,检查日志,都是报 connect() failed connect() failed (111: Connection refused) while connecting to upstream, client

尝试将 nginx 迁移到单独的虚拟机上,情况稍有好转,但是无法根治

网上检索过资料,但是用处都不大

尝试精简服务(删除大部分容器),减轻负载,但是没有效果

附环境 DEBIAN 11 NGINX 1.18

1881 次点击
所在节点    Linux
14 条回复
cz5424
2022-12-01 22:34:41 +08:00
上次遇到了这种问题时后端不支持长链接,降级为 1.0 解决
seers
2022-12-01 22:37:56 +08:00
keepalive_timeout 设置了没,是不是没释放长连接
winson030
2022-12-01 22:51:14 +08:00
可以看看我发过的一个帖子,也是遇到 502 的情况。我这边主要是因为订阅转换链接太长了,nginx 没设置反向代理缓冲区,导致返回 502 。把 proxy_buffer_size 相关的设置都配一下,应该就可以了。试试看。
xiaoyuesanshui
2022-12-01 23:13:27 +08:00
多谢各位好心大哥的指导
我这边破案了,要被自己蠢哭了

由于 acme 的自签证书会每 60 天自动重签,重签后,如果不 reload nginx 新证书不会生效。
为了应对这个,我就写了一个 crontab ,每月 1 号自动重启 nginx 和 docker

但是我脑子抽筋写成了

* * 1 * * systemctl restart nginx /docker

今天 1 号到了,所以我的服务器今天一天都在不停的重启 docker 和 nginx
然而 docker 启动所有镜像都需要时间,所以会间歇的 502 ,这也解释了,为啥我感觉越删镜像,502 来的越频繁
ab
2022-12-01 23:16:25 +08:00
@xiaoyuesanshui #4 acme 不是会自动 reload nginx 吗?为何还要自己写定时
xiaoyuesanshui
2022-12-01 23:18:44 +08:00
@ab #5 理论上是这样,但是总是 reload 不出来,所以干脆就自己写 crontab 了,结果搞出这么一个限时乌龙
julyclyde
2022-12-02 09:18:29 +08:00
@xiaoyuesanshui 我记得重启 docker 服务应该不会顺便重启容器啊
xiaoyuesanshui
2022-12-02 10:47:51 +08:00
@julyclyde #7 呃 crontab 里写的是 reload.....
julyclyde
2022-12-02 11:59:49 +08:00
@xiaoyuesanshui 那应该更不影响啊
xiaoyuesanshui
2022-12-05 10:55:29 +08:00
@julyclyde #9 但是我改了 crontab 后,就正常了,也不重启了,服务都正常了
julyclyde
2022-12-05 11:45:00 +08:00
@xiaoyuesanshui 你的 docker 是不是旧版本的呀?我记得分离重启这个功能似乎是 17 还是 18 版本加上的?应该已经挺早的了
或者……你是不是用的腾讯内部 bug 版?
xiaoyuesanshui
2022-12-05 17:28:42 +08:00
@julyclyde #11 不是,20.10
还有腾讯内部 bug 版这种东西?

我没见过 23333
julyclyde
2022-12-05 17:30:37 +08:00
xiaoyuesanshui
2022-12-05 21:48:52 +08:00
@julyclyde #13 多谢 我研究研究

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/899462

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX