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
- Update Daftar Paket:
sudo apt update
2. install Nginx:
sudo apt install nginx
2. Konfigurasi Nginx sebagai Reverse Proxy
- Backup Konfigurasi Default:
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak - 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 blokserversebagai 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.
- Contoh Konfigurasi Reverse Proxy: Misalkan Anda ingin Nginx mengarahkan permintaan ke server backend di
- Simpan dan Tutup Editor: Tekan
Ctrl+X, laluYuntuk menyimpan perubahan, dan tekanEnter.- Uji Konfigurasi Nginx:
sudo nginx -t - Pastikan tidak ada kesalahan. Jika ada, perbaiki sesuai petunjuk yang diberikan.
- Uji Konfigurasi Nginx:
- Restart Nginx untuk Menerapkan Konfigurasi:
sudo systemctl restart nginx - 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;
- Load Balancing: Jika Anda memiliki beberapa server backend, Anda bisa menambahkan konfigurasi load balancing:
- 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
- Mengaktifkan SSL/TLS: Untuk keamanan lebih, pertimbangkan menggunakan SSL/TLS dengan Let’s Encrypt atau sertifikat lainnya.Install Certbot:
- Dapatkan Sertifikat:
- sudo certbot –nginx
- 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’