【发布时间】:2021-05-13 07:54:28
【问题描述】:
我有一个使用 NGINX 服务器托管在谷歌云平台上的网站。几个小时前它运行良好,但突然出现 502 bad gateway 的错误。
NGINX 服务器托管在另一个实例上,主项目是另一个实例,以下是我的服务器的配置:
server {
listen 443 ssl;
server_name www.domain.com;
ssl_certificate /path-to/fullchain.pem;
ssl_certificate_key /path-to/privkey.pem;
# REST API Redirect
location /api {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http:/internal-ip:3000;
}
# Server-side CMS Redirect
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://internal-ip:4400;
}
}
当重新启动 nginx 服务器实例时,网站加载成功,但在三到四次刷新后它开始给出 Bad Gateway 之后任何时候我打开它都会给出错误的网关错误。 有时,它会自动重新加载,但又会再次关闭。
尝试了解nginx服务器的错误日志,错误日志的输出如下:
关于第一个问题,我尝试了一些建议,例如在服务器配置中将代理发送和读取时间增加到某个更高的值,例如 suggested here,并且如下图所示:
后端代码也可以正常工作,因为我可以在开发过程中访问本地部署的后端服务,但托管网站无法访问任何后端服务。
但没有任何效果,遗憾的是我的网站已关闭。 请提出任何解决方案。
【问题讨论】:
-
您网站的流量是多少?您是否在 Compute Engine 虚拟机上运行 nginx?您的后端代码与 nginx 相比在哪里 - 您将其称为 internal-ip - 它是另一个 Compute Engine 吗?
-
是的,我在其他实例上的 Compute Engine VM 上运行 nginx,而后端在另一个计算引擎 vm 实例上,其内部 ip 在 nginx 服务器配置文件中提及。
标签: nginx server timeout nginx-config bad-gateway