Membuat Server Reverse Proxy

Membuat server reverse proxy dengan Nginx adalah langkah yang umum dilakukan untuk mengelola dan mengarahkan lalu lintas web. Berikut adalah panduan langkah demi langkah untuk mengatur Nginx sebagai reverse proxy server di Ubuntu Server 24.04:

1. Instalasi Nginx

  1. Update Daftar Paket:

sudo apt update

2. install Nginx:

sudo apt install nginx

2. Konfigurasi Nginx sebagai Reverse Proxy

  1. Backup Konfigurasi Default:
    sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak
  2. Edit Konfigurasi Nginx:
    sudo nano /etc/nginx/sites-available/default
    • Contoh Konfigurasi Reverse Proxy: Misalkan Anda ingin Nginx mengarahkan permintaan ke server backend di http://192.168.1.100:8080, tambahkan atau ubah konfigurasi dalam blok server sebagai berikut:
      server {
      listen 80;
      server_name your_domain_or_IP;
      location / { proxy_pass http://192.168.1.100:8080; 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; }
      }
      • proxy_pass: Alamat server backend yang akan menerima permintaan dari Nginx.
      • proxy_set_header: Mengatur header yang dikirim ke server backend agar informasi seperti IP klien dan protokol asli tetap terjaga.
  3. Simpan dan Tutup Editor: Tekan Ctrl+X, lalu Y untuk menyimpan perubahan, dan tekan Enter.
    • Uji Konfigurasi Nginx:
      sudo nginx -t
    • Pastikan tidak ada kesalahan. Jika ada, perbaiki sesuai petunjuk yang diberikan.
  4. Restart Nginx untuk Menerapkan Konfigurasi:
    sudo systemctl restart nginx
  5. Menambahkan Fitur Tambahan
    • Load Balancing: Jika Anda memiliki beberapa server backend, Anda bisa menambahkan konfigurasi load balancing:
      upstream backend {
      server 192.168.1.100:8080;
      server 192.168.1.101:8080;
      }
      server {
      listen 80;
      server_name your_domain_or_IP;
      location / { proxy_pass http://backend; 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; }
      }
    • Caching: Anda bisa menambahkan konfigurasi caching untuk meningkatkan performa:

    • location / {
      proxy_pass http://backend;
      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;
      proxy_cache my_cache; proxy_cache_valid 200 1m; proxy_cache_valid 404 1m;
      }
      Konfigurasi cache
      proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;
  6. Keamanan
    • Mengaktifkan SSL/TLS: Untuk keamanan lebih, pertimbangkan menggunakan SSL/TLS dengan Let’s Encrypt atau sertifikat lainnya.Install Certbot:
      • sudo apt install certbot python3-certbot-nginx
  7. Dapatkan Sertifikat:
    • sudo certbot –nginx
  8. Ikuti petunjuk untuk menyelesaikan pengaturan SSL/TLS.
    • Firewall: Pastikan port 80 dan 443 (jika menggunakan SSL) dibuka di firewall Anda:
    • sudo ufw allow ‘Nginx Full’

Leave a Reply

Your email address will not be published. Required fields are marked *