Configurasi Nginx Reverse Proxy Debian 12

Go Blog

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.

#buttons=(Ok, Go it!) #days=(20)

Our website uses cookies to enhance your experience. Check Now
Ok, Go it!