使用带有https的Nginx的反向代理节点上的502 Bad Gateway

时间:2017-03-01 12:44:47

标签: node.js nginx proxy

我已经看到类似这样的问题问了很多,但他们所犯的错误似乎不是一个502坏网关只是设置服务器的问题。

因此,我使用nodejs运行pm2应用程序以保持进程正常运行。

在我的nginx /sites-available/default文件中,我有...

server {

    listen 80;
    listen [::]:80 default_server;

}

server {
    listen 443 ssl default_server;
    listen [::]:443 ssl default_server;

        ssl     on;
        ssl_certificate /etc/letsencrypt/live/server.name.comfullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/server.name.com/privkey.pem;

    root /var/www/html;

    # Add index.php to the list if you are using PHP
    index index.html index.htm index.nginx-debian.html;

    server_name _;

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ =404;
        #proxy_pass https://0.0.0.0:4444;
            #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;
    }

        location /demo {
            proxy_pass https://0.0.0.0:4444;
            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;
        }

}

所以我已经获得了我的证书设置,我可以在https上点击我的服务器,并查看我在index.html文件中的所有内容。在index.html文件中,<a href="https://server.name.com/demo">Link</a>将我转发到/demo我的location区块中我试图代理端口4444我的应用程序正在运行。

我点击页面时收到502 Bad Gateway错误。

我在调试它的步骤上有点迷失了。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

是否在0.0.0.0:4444上运行https服务而不是http?无论如何,我建议不要在崇拜代理后面使用ssl,因为性能问题并且不需要加密。