我的nginx服务器实际上是使用以下简单的代理来代理节点后端(侦听端口3000):
location /api/ { proxy_pass http://upstream_1; }
其中上游_1是我在nginx.conf中定义的节点群集(在端口3000上)。
我将不得不通过http连接添加SSL,所以我有以下问题:我是否只需要配置nginx来启用ssl?并且它将自动“解密”请求并将未解密的请求传递给能够正常处理的Node?还是我需要将Nodejs配置为也支持ssl?
如果您使用nginx处理SSL,则您的节点服务器将仅使用http。
upstream nodejs { server 127.0.0.1:4545 max_fails=0; } server { listen 443; ssl on; ssl_certificate newlocalhost.crt; ssl_certificate_key newlocalhost.key; server_name nodejs.newlocalhost.com; add_header Strict-Transport-Security max-age=500; location / { proxy_pass http://nodejs; proxy_redirect off; proxy_set_header Host $host ; proxy_set_header X-Real-IP $remote_addr ; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ; proxy_set_header X-Forwarded-Proto https; } }