我想在一个数字海洋服务器上运行两个域。我已经创建了两个文件夹var/www/domain 1/html和var/www/domain 2/html,并在这些旧文件夹中克隆了我的项目。安装了pacagers,运行了build和运行了pm2,一切正常。但是当我打开域地址时,它显示“bad gateway”。所以,这个错误是因为nginx sites-available配置。下面是sites-available默认文件:
`server {
listen 80;
server_name domain1.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
server {
listen 80;
server_name domain2.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}`
这两个域都运行在单独的端口上,因此端口不是问题。
我正面临着502坏网关错误从nginx.我希望这个问题是与nginx配置内/etc/nginx/sites-available和默认文件.
1条答案
按热度按时间yv5phkfx1#
是的,您看到的错误可能是由于您的域的Nginx服务器块的配置。502 Bad Gateway错误通常意味着Nginx无法连接到上游服务器。在您的情况下,这意味着Nginx无法连接到分别在www.example.com和www.example.com的端口8080或3000上运行的Node.js应用程序domain1.comdomain2.com。
要解决此问题,您可以检查以下内容:
1.检查日志:您可以检查Nginx错误日志,查看是否有任何与代理传递配置相关的错误。错误日志位于/var/log/nginx/error. log。
1.检查端口:确保您的Node.js应用程序运行在正确的端口上(www.example.com为8080domain1.com,www.example.com为3000domain2.com),并侦听所有网络接口(0.0.0.0)。
1.检查防火墙:确保服务器上的防火墙没有阻止运行Node.js应用程序的端口上的传入流量。
1.检查proxy_pass配置:确保Nginx配置中的proxy_pass指令指向Node.js应用程序运行的正确IP地址和端口。
在您的配置中,似乎proxy_pass指令已正确设置为指向每个域的正确端口。因此,可能是上述其他问题之一导致了该问题。
确定并修复问题后,您可以通过运行以下命令重新加载Nginx配置:
这将应用您对Nginx配置所做的更改。