2015-10-23 89 views
7

我正在用nginx配置我的node.js應用程序。它工作正常,但它不適用於https。當我嘗試訪問安全域。我得到這個錯誤。node.js應用程序與nginx 502壞網關錯誤

502 Bad Gateway 
nginx/1.4.6 (Ubuntu) 

這裏是我的nginx的conf文件

upstream node_app_dev { 
     server 127.0.0.1:3000; 
    } 

    upstream node_app_production { 
     server 127.0.0.1:3000; 
    } 

server { 
    listen 80; 
    server_name mydomain.com; 
    access_log /var/log/nginx/dev.log; 
    error_log /var/log/nginx/dev.error.log debug; 

    location/{ 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarder-For $proxy_add_x_forwarded_for; 
     proxy_set_header Host $http_host; 
     proxy_pass http://node_app_dev; 
     proxy_redirect off; 
    } 
} 


server { 
    listen 443 ssl; 
    server_name mydomain.com; 
    access_log /var/log/nginx/secure.log; 
    error_log /var/log/nginx/secure.error.log debug;  

    ssl on; 
    ssl_certificate certs/mycert.crt; 
    ssl_certificate_key certs/mykey.key; 

    location/{ 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarder-For $proxy_add_x_forwarded_for; 
     proxy_set_header Host $host;   
     proxy_pass https://node_app_production; 
     proxy_redirect off; 

    }  
} 
+0

可能的重複http://stackoverflow.com/questions/10375659/nginx-proxy-pass-node-ssl:如果您使用nginx來處理SSL,那麼您的節點服務器將只使用http 。 – jpaljasma

+0

我的node.js服務器是簡單的http服務器。我正在用nginx處理https,它指向簡單的http服務器。 – mabc224

+0

我很高興它爲你工作。你願意投我的答案嗎? – jpaljasma

回答

13

更換

proxy_pass https://node_app_production; 

proxy_pass http://node_app_production; 

重啓nginx的,你應該準備就緒。 請參閱nginx proxy pass Node, SSL?

+0

你是國王,你是最棒的。謝謝。 – faranjit