node.js - nodejs - nginx proxy pass Node, SSL?
nginx node proxy pass (1)
mi servidor nginx está realmente procesando mi nodo backend (que escucha en el puerto 3000) con un simple:
location /api/ {
proxy_pass http://upstream_1;
}
Donde upstream_1 está mi cluster de nodos definido en nginx.conf (en el puerto 3000).
Voy a tener que agregar SSL a través de conexiones http, por lo que tengo la siguiente pregunta: ¿solo necesito configurar nginx para habilitar SSL? ¿Y automáticamente "desencriptará" la solicitud y la pasará sin encriptar a Node, que podrá manejarlo normalmente? ¿O necesito configurar Nodejs para que sea compatible con ssl también?
Si está usando nginx para manejar SSL, su servidor de nodo simplemente usará 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;
}
}