Mei 23, 2026Panduan
Cara Mengatur Nginx Reverse Proxy
Proxy Node.js, Docker, atau aplikasi lain melalui Nginx dengan dukungan WebSocket dan SSL di VPS Anda.

Reverse proxy memungkinkan Nginx menerima traffic HTTP/HTTPS publik dan meneruskannya ke aplikasi backend (Node.js di port 3000, container Docker, API Python). Penting untuk deployment produksi di VPS Hiddence.
Prasyarat
- Nginx terpasang dan berjalan
- Aplikasi backend mendengarkan di localhost (mis. 127.0.0.1:3000)
- Domain mengarah ke VPS (untuk SSL)
- Port 80 dan 443 terbuka di firewall
Konfigurasi reverse proxy dasar
Buat konfigurasi situs untuk domain Anda:
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 nginxDukungan WebSocket
Diperlukan untuk Socket.io, banyak dashboard, dan aplikasi 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;
}Tambahkan HTTPS dengan Certbot
Setelah HTTP berfungsi, terbitkan sertifikat gratis:
bash
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d app.yourdomain.com
# Certbot will update your server block for SSL automaticallyTips
- Gunakan proxy_buffering off untuk streaming/SSE jika diperlukan
- Atur client_max_body_size untuk upload file
- Jalankan beberapa backend di subdomain berbeda
- Gunakan blok upstream untuk load balancing beberapa backend
- Periksa error.log jika mendapat 502 Bad Gateway