Reverse proxy adalah sebuah proxy server yang digunakan untuk mendukung keamanan dan kinerja pertukaran data agar dapat berjalan dengan baik.
Sebagai sebuah server perantara, reverse proxy bertugas meneruskan request klien (misalnya browser web) ke server web yang tepat. Secara umum, ada tiga alasan utama kenapa perlu menggunakan server ini, yaitu:
- Security – dengan mengelola permintaan sebelum sampai di web server tujuan, reverse proxy bisa menjadi tembok penahan jika terjadi serangan (cyber attack). Tak heran jika server ini sering berada di belakang sebuah firewall sebuah private network.
- Speed – dengan kemampuan untuk melakukan kompres data, pertukaran data bisa dilakukan lebih cepat.
- Reliability – dengan menjalankan load balancing, diharapkan tidak terjadi beban server berlebih yang akan mengakibatkan server down.
Jika Anda belum menginstal Nginx di sistem Anda, mulai dengan langkah pertama berikut ini:
1. Install Nginx
Untuk menginstal dan mengkonfigurasi Nginx, silakan gunakan perintah di bawah ini:
sudo apt-get update
sudo apt-get install nginx
2. Konfigurasi Nginx
Selanjutnya, buka konfigurasi Nginx dengan perintah berikut:
3. Buat Nginx Reverse Proxy
Untuk itu, Anda harus mengakses direktorinya menggunakan perintah berikut:
sudo nano /etc/nginx/sites-available/default
server {
server_name lms.puskom.uncen.ac.id;
listen 80;
client_max_body_size 9024M; //untuk besaran upload
location / {
proxy_pass http://192.168.10.11:80;
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 systemctl restart nginx
SSL/TLS Termination (Optional):
If you want to terminate SSL/TLS at the reverse proxy and forward plain HTTP to your backend, you can add an SSL configuration block:server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /path/to/ssl_certificate.crt;
ssl_certificate_key /path/to/ssl_private_key.key;
location / {
proxy_pass http://backend_server_ip:backend_server_port;
# …
}
}
sumber : https://medium.com/@miladev95/nginx-a0391c5cf6dd