私のnginxサーバーは、実際にはノードバックエンド(ポート3000でリッスンしている)を次のようにプロキシしています。
location /api/ {
proxy_pass http://upstream_1;
}
ここで、upstream_1は、nginx.conf(ポート3000)で定義されているノードクラスターです。
Http接続を介してSSLを追加する必要があるので、次の質問があります:sslを有効にするためにnginxを構成するだけでよいですか?そして、リクエストを自動的に「暗号化解除」し、暗号化せずにNodeに渡します。これにより、通常どおり処理できますか?または、sslもサポートするようにNodejsを構成する必要がありますか?
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;
}
}