如何解决有时 502 Bad Gateway 有时 504 网关超时,有时网站加载成功
我有一个使用 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,之后我每次打开它都会给出 Bad Gateway 错误。 有时,它会自动重新加载,但再次关闭。
试图知道nginx服务器的错误日志,以下是错误日志的输出:
关于第一个问题,我尝试了一些建议,例如将代理发送和读取时间增加到更高的值,如服务器配置中的 suggested here,并在图像中显示如下:
此外,后端代码运行良好,因为我可以在开发过程中在本地访问已部署的后端服务,但托管网站无法访问任何后端服务。
但没有任何效果,遗憾的是我的网站已关闭。 请提出任何解决方案。
解决方法
默认情况下 nginx 有 1024 个工作连接,你可以用
events {
worker_connections 4096;
}
您也可以尝试增加工作人员的数量,因为 workers*worker_connections 为您提供了可以处理的连接数量。所有这一切都发生在您的网站正在接收流量而您只是连接不足的情况下。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。