nginx异常“nginx 502 Bad Gateway”出现的一种原因分析

分类:计算机 | Web开发 | Nginx | 综合 272
更新:2022-02-12 22:48:00
编辑

1 异常描述

今天打开自己的网站时发现网站访问不了了,报错“502 Bad Gateway”。

然后查看了nginx的错误日志(/usr/local/nginx/logs/error.log),发现有报错:

2022/02/11 18:28:28 [error] 7882#0: *1093736 connect() failed (111: Connection refused) while connecting to upstream, client: 14.146.94.207, server: yuanjingyan.com, request: "GET /article/1331894694 HTTP/1.1", upstream: "http://121.5.247.191:88/article/1331894694", host: "yuanjingyan.com", referrer: "https://www.google.com/"

2 异常分析

网上的很多说法说的是“502 Bad Gateway”是因为连接超时 我们向服务器发送请求,由于服务器当前链接太多,导致服务器方面无法给出正常的响应,所以会产生此类报错。

还有一种说法是:这个错误主要是指后端服务无法提供服务,或者服务未完成就挂掉了,nginx 对后端是有感知的,它知道后端存在,但后端却告诉它无法提供服务,所以引起了此类报错。

3 异常解决

我在网站中使用nginx是用来将前端用户发来的请求转发到一个node.js服务上,于是查了一下这个服务的状态,发现这个服务已经停掉了,具体原因还不清楚,把这个服务重新启动以后网站就可以正常访问了。