Q: Khi triển khai ứng dụng Node.js ta cần cài đặt SSL sử dụng máy chủ Nginx. Vậy ta cần cấu hình Nginx như thế nào ?

A: Ta vẫn để Node.js chạy sử dụng http bình thường, và cấu hình hình SSL trên máy chủ Nginx đứng chặn như sau:

1. Cấu hình Nginx

    upstream nodejs { 
          server 127.0.0.1:4545 max_fails=0; 
    } 

   server { 
      listen 443; 
      ssl    on; 
      ssl_certificate    path/to/node.crt; 
      ssl_certificate_key     path/to/node.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; 
      } 
   }

2. Cấu hình Websockets

Nếu ứng dụng của bạn sử dụng Websocket, bạn cần phải thêm cấu hình sau:

# WebSocket support (nginx 1.4)
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;

Sau khi cài cấu xong hãy nhớ khởi động lại Nginx.

That’s it !

About The Author