2017-08-21 96 views
1

我有一個運行反向代理服務器的NGINX服務器到節點應用程序。試圖訪問https網站時錯誤網關錯誤NGINX反向代理到節點HTTPS

server { 
listen 80; 
    server_name MYSERVERDOMAIN; 

    location/{ 
      proxy_pass http://localhost: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; 
    } 
} 

server { 
    listen 443 ssl; 
    server_name MYSERVERDOMAIN; 

    ssl on; 
    ssl_certificate /etc/nginx/ssl/server.crt; 
    ssl_certificate_key /etc/nginx/ssl/server.key; 
    ssl_ciphers HIGH:!aNULL:!MD5; 
    ssl_prefer_server_ciphers on; 
    ssl_session_cache shared:SSL:1m; 
    ssl_session_timeout 5m; 
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 

location/{ 
    proxy_pass http://localhost: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; 
} 
} 

回答

1

您的設置看起來是正確的,所以我不太清楚有關問題: 現在我需要得到它以https工作,但我不斷收到502。但是,我正在使用下面的設置爲我的生產服務器提供static assets文件夾的其他配置和https自動轉發 - 這是您爲production servers設置的最終設置。希望它可以幫到:

server { 
     listen 80; 
     server_name example.com; 
     rewrite ^/(.*) https://example.com/$1 permanent; 
} 

server { 
     server_name example.com; 

     listen 443 ssl default_server; 
     listen [::]:443 ssl default_server; 
     ssl_certificate /etc/ssl/certs/www.example.chained.cer; 
     ssl_certificate_key /etc/ssl/private/www.example.com_ssl_private_key.key; 

     root /var/www/example/public; 

     location/{ 
       try_files $uri @proxy; 
     } 

     location @proxy { 
       proxy_pass http://localhost: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; 
     } 
} 
+0

很酷謝謝。由於今天看這個,所以這很有幫助。我遇到的SSL問題是更廣泛的網絡配置問題 –