我的NodeJS / Nginx和SSL设置有什么问题?

时间:2014-01-19 10:07:04

标签: node.js nginx

我正在尝试使用ssl运行我的网站。使用我当前的设置,我可以访问常规域,但不能访问https。

我按照这些帖子和链接没有成功。

http://wiki.nginx.org/HttpSslModule

http://blog.argteam.com/coding/hardening-node-js-for-production-part-2-using-nginx-to-avoid-node-js-load/

Node.js + Nginx - What now?

我已经创建并自行签署了证书。 我做错了什么?

upstream myapp {
    server 127.0.0.1:3000;
}

server {

ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;

listen 80;
listen 443 ssl;

    server_name poplive.co;

location / {
proxy_set_header X-FORWARDED-PROTO https;
    proxy_pass http://myapp/;

    }
 }

1 个答案:

答案 0 :(得分:1)

如果要使用nginx.conf而不是添加vhost文件,则必须将配置放在http上下文中。以下配置适用于您的情况:

events { worker_connections 1024; }
http {
    upstream myapp {
        server 127.0.0.1:3000;
    }

    server {
        ssl_certificate /etc/nginx/ssl/server.cert;
        ssl_certificate_key /etc/nginx/ssl/server.key;

        listen 80;
        listen 443 ssl;

        server_name poplive.co;

        location / {
            proxy_set_header X-FORWARDED-PROTO https;
            proxy_pass http://myapp/;
        }
    } 
}