Подтвердить что ты не робот

Nginx proxy pass Node, SSL?

Мой сервер nginx фактически проксирует мой бэкэнд node (который прослушивает порт 3000) простым:

location /api/ {
proxy_pass http://upstream_1;
}

Где upstream_1 - мой кластер node, определенный в nginx.conf(на порту 3000).

Мне нужно добавить SSL через http-соединения, поэтому у меня есть следующий вопрос: мне нужно только настроить nginx для включения ssl? И он автоматически "раскроет" запрос и передаст его без шифрования на node, который сможет обрабатывать его в обычном режиме? Или мне нужно настроить Nodejs для поддержки ssl?

4b9b3361

Ответ 1

Если вы используете nginx для обработки SSL, ваш сервер node будет использовать 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; 
      } 
   }