Tháng Năm 23, 2026Hướng dẫn
Cách Thiết Lập Nginx Reverse Proxy
Proxy Node.js, Docker hoặc app khác qua Nginx với hỗ trợ WebSocket và SSL trên VPS.

Reverse proxy cho phép Nginx nhận traffic HTTP/HTTPS công khai và chuyển tiếp tới app backend (Node.js cổng 3000, container Docker, API Python). Cần thiết cho triển khai production trên VPS Hiddence.
Điều kiện tiên quyết
- Nginx đã cài và đang chạy
- App backend lắng nghe trên localhost (vd. 127.0.0.1:3000)
- Tên miền trỏ về VPS (cho SSL)
- Cổng 80 và 443 mở trên firewall
Cấu hình reverse proxy cơ bản
Tạo cấu hình site cho tên miền:
bash
server {
listen 80;
server_name app.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
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 $scheme;
}
}
sudo nginx -t && sudo systemctl reload nginxHỗ trợ WebSocket
Cần cho Socket.io, nhiều dashboard và app realtime:
bash
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}Thêm HTTPS với Certbot
Sau khi HTTP hoạt động, cấp chứng chỉ miễn phí:
bash
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d app.yourdomain.com
# Certbot will update your server block for SSL automaticallyMẹo
- Dùng proxy_buffering off cho streaming/SSE nếu cần
- Đặt client_max_body_size cho upload file
- Chạy nhiều backend trên subdomain khác nhau
- Dùng khối upstream để cân bằng tải nhiều backend
- Kiểm tra error.log nếu gặp 502 Bad Gateway