Konfigurasi NGINX Reverse Proxy di Debian 12
NGINX dapat digunakan sebagai reverse proxy untuk meneruskan permintaan dari pengguna ke server backend (seperti Node.js, PHP, Python, dll). Ini meningkatkan keamanan, fleksibilitas, dan memungkinkan pemisahan logika antara frontend dan backend.
1. Instalasi NGINX
sudo apt update && sudo apt install nginx -y
Aktifkan dan mulai layanan:
sudo systemctl enable nginx
sudo systemctl start nginx
2. Contoh Skenario Reverse Proxy
Misalnya kamu punya aplikasi berjalan di http://localhost:3000, kita akan mengaksesnya melalui domain: https://example.com menggunakan NGINX reverse proxy.
3. Buat Konfigurasi NGINX Baru
sudo nano /etc/nginx/sites-available/myapp
Isi dengan konfigurasi berikut:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://localhost: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;
}
}
4. Aktifkan Konfigurasi
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
5. (Opsional) Tambahkan SSL Let’s Encrypt
Amankan situs dengan HTTPS:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx
6. Verifikasi Reverse Proxy
Setelah selesai, akses domain kamu via browser:
http://example.com
Jika berhasil, maka kamu akan melihat halaman dari aplikasi backend di port 3000 melalui NGINX.
Referensi Resmi
Kesimpulan
Dengan konfigurasi di atas, NGINX bertindak sebagai reverse proxy yang meneruskan permintaan HTTP dari klien ke aplikasi backend. Teknik ini sering digunakan untuk aplikasi modern seperti Node.js, Django, Laravel, dan lainnya. Menggunakan reverse proxy juga memungkinkan kamu menambahkan fitur seperti HTTPS, caching, dan load balancing dengan mudah.

