【发布时间】:2016-01-22 10:38:21
【问题描述】:
我正在使用 nginx 配置我的 node.js 应用程序。它适用于 http,但不适用于 https。当我尝试访问安全域时。我得到这个错误。
502 Bad Gateway
nginx/1.4.6 (Ubuntu)
这是我的 nginx 配置文件
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;
}
}
【问题讨论】:
-
stackoverflow.com/questions/10375659/nginx-proxy-pass-node-ssl 的可能重复项:如果您使用 nginx 处理 SSL,那么您的节点服务器将只使用 http。
-
我的 node.js 服务器是简单的 http 服务器。我正在使用 nginx 处理 https,它指向简单的 http 服务器。
-
我很高兴它对你有用。你愿意投票给我的答案吗?