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:
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:
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:
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
Nginx reverse proxy adalah cara standar mengekspos aplikasi backend dengan aman. Konfigurasikan header proxy, tambahkan WebSocket jika perlu, lalu aktifkan SSL dengan Certbot.