Reverse Proxy pada sistem operasi Linux bertindak sebagai penghubung antara host (client) dan server. Reverse proxy membawa request client dan menyalurkannya ke server lain. Akhirnya, mengantarkan respon server pada client, seolah muncul dari proxy server itu sendiri. Pada tutorial ini, kami akan menunjukkan pada Anda apa itu Nginx reverse proxy dan cara konfigurasinya pada VPS Anda!
Client dan server selalu bertukar informasi agar dapat bekerja secara efisien. Umumnyam reverse proxy digunakan oleh web sever. Reverse proxy atau gateaway akan nampak seperti web server pada umumnya di hadapan client dimana tidak diperlukan konfigurasi khusus. Client akan membuat request seperti biasa sementara proxy menentukan kemana informasi akan menyerahkan output final ke client.
Reverse proxy Nginx memiliki banyak sekali kegunaan. Reverse proxy ini termasuk open source yang banyak digunakan di internet.
Kita akan mengkonfigurasi reverse proxy nginx pada OS Ubuntu. Pertama kali hal yang harus dilakukan adalah menginstall nginx.
apt update
apt install nginx -y
Buat file konfigurasi untuk reverse proxy
nano /etc/nginx/site-avaiable/namadomain.com.conf
Konfigurasi
server {
listen 80;
server_name namadomain.com;
rewrite ^ https://$host$request_uri? permanent;
}
server {
listen 443 ssl;
server_name namadomain.com;
access_log /var/log/nginx/namadomain.com.log;
error_log /var/log/nginx/namadomain.com.log;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA256:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EDH+aRSA+AESGCM:EDH+aRSA+SHA256:EDH+aRSA:EECDH:!aNULL:!eNULL:!MEDIUM:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:!SEED";
add_header Strict-Transport-Security "max-age=31536000";
ssl_certificate /etc/letsencrypt/live/namadomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/namadomain.com/privkey.pem;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
proxy_connect_timeout 90s;
proxy_read_timeout 90s;
proxy_send_timeout 90s;
}
}
Blok server yang pertama ini berfungsi untuk redirect dari port 80 ke 443, jadi setiap user yang mengkases server kita menggunakan protokol http akan otomatis menjadi https. Kemudian pada blok server yang kedua berfungsi untuk menghandle request https dari user. Konfigurasi reverse proxy dapat dilihat pada blok kedua bagian location, di sana terdapat proxy_pass yang berfungsi untuk melanjutkan request ke server tertentu, isi dengan web server yang telah dijalankan.
Sekian tutotial singkat dari saya, semoga membantu.