502错误的网关节点服务器nginx

时间:2018-09-21 18:08:28

标签: node.js reactjs nginx gcloud nginx-location

我构建了在节点服务器上运行的react应用,我在同一个gcloud实例中使用了多个submain。使用pm2,我正在运行在不同端口上正常运行的那些应用。 现在我想在我的虚拟机上实现nginx,这样我就可以将目标域指定为特定应用。 我的 servers.conf (nginx文件)

server {
        listen 80;
        listen [::]:80;
        server_name booking.stanplus.com www.booking.stanplus.com;
        return 301  https://booking.stanplus.com$request_uri;
}
server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name booking.stanplus.com  www.booking.stanplus.com;
    ssl_certificate /etc/letsencrypt/live/booking.stanplus.com/cert.pem;
    ssl_certificate_key /etc/letsencrypt/live/booking.stanplus.com/privkey.pem;
    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;
        proxy_pass https://35.237.131.149:8080;
        proxy_redirect off;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}
server {
        listen 80;
        listen [::]:80;
        server_name dkiosk.stanplus.com;
        location / {
                proxy_pass http://127.0.0.1:3000;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header HOST $http_host;
        }
}

http://dkiosk.stanplus.com正常运行,但是https://booking.stanplus.com/收到ssl却无法正常工作。 https://booking.stanplus.com/定位在http://35.237.131.149:8080/上,效果很好。 https://booking.stanplus.com/给我错误

  

502错误的网关

我做错了什么??,第一次执行nginx。
我看了很多文章和Q&S,但认罪了。 请帮我。我已经三天了。

1 个答案:

答案 0 :(得分:1)

在您的配置中,您使用:

  

proxy_pass http s ://://35.237.131.149:8080;

也就是说,您请求nginx使用HTTPS-到后端的加密连接。鉴于大多数情况下端口8080用于纯HTTP(不带S),这很可能是错误的。您声称可以使用的网址http://35.237.131.149:8080/也是纯HTTP,而不是HTTPS。

proxy_pass的参数更改为http://35.237.131.149:8080/应该可以解决您的问题。

请注意,nginx通常将错误详细信息记录到错误日志中。如有疑问,请随时进行调查,在许多情况下,它具有足够的信息来了解问题所在。