2017-03-01 86 views
0

我曾经见过类似的问题,但问题很多,但他们得到的错误似乎不是一个502错误的网关,只是设置服务器的一个问题。502使用Nginx与https的反向代理nodejs上的错误网关

所以我正在运行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错误。

我在调试这个步骤有点失落。任何帮助?

+0

你应该看看错误日志(通常在'/ var/log/nginx /'中),也许试试'127.0.0.1:4444'而不是'0.0.0.0:4444'。 –

回答

0

是在0.0.0.0:4444上真的是一个https服务运行,而不是http?无论如何,我会建议不要在reverese-proxy后面使用ssl,因为性能问题,并且不需要加密。

相关问题