Memahami Cara Kerja Nginx Reverse Proxy
# Mengenal Reverse Proxy
Kalimat _ Reverse Proxy _ mungkin sudah tidak asing lagi terdengar khususnya orang yang menggeluti dunia web server.
Mari kita bahas tentang apa sih itu reverse proxy?.
Sebelum kita lanjut ke pembahasan reverse proxy ada kalanya kita tahu terlebih dahulu tentang Server Proxy.
Server proxy merupakan sebuah server yang menyediakan layanan perantara antara client host dengan server lain.
Lalu apa itu Reverse Proxy?.
Reverse Proxy adalah salah satu jenis dari proxy, biasanya reverse proxy digunakan sebagai perantara antara client dengan web server.
# Cara Kerja Nginx Reverse Proxy
Jika sebelumnya kita sudah mengetahui tentang apa itu Reverse Proxy selanjutnya kita akan mencoba memahami cara kerja Reverse Proxy Nginx, perhatikan gambar dibawah ini
Seperti apa yang sudah disampaikan diatas bahwa reverse proxy sendiri sebagai perantara, jika di lihat dari topologi diatas alurnya sebagai berikut
Request :
Client >> Nginx Reverse Proxy >> Web server Apache (Backend)
Respons:
Web server Apache (Backend) >> Nginx Reverse Proxy >> Client
Analogi sederhananya Nginx Reverse Proxy bisa di ibaratkan sebagai (resepsionis) yang akan meneruskan ke pihak terkait jika terdapat permintaan dari public atau customer.
Gambara diatas hanyalah gambaran sederhana dari alur kerja Reverse Proxy yang berjalan dalam satu server (standanlone).
Berikut kami berikan contoh yang lebih kompleks, perhatikan gambar berikut ini.
Dari gambar topologi diatas kita bisa melihat dimana Reverse Proxy dapat menangani satu atau lebih server web.
Konfigurasi reverse proxy yang umum digunakan adalah menempatkan Nginx di depan server web Apache. Menggunakan metode ini akan memungkinkan kedua server web untuk bekerja sama memungkinkan masing-masing untuk melakukan yang terbaik.
Silahkan ditentukan skenario Anda sesuai dengan kebutuhan Anda.
# Keuntungan dan Fungsi Reverse Proxy
Dikutip dari situs resmi Nginx, terdapat 3 keuntungan yang akan Anda dapatkan jika menggunakan Reverse Proxy Nginx diantaranya adalah
- Load Balancing
Reverse proxy dapat melakukan load balancing yang membantu mendistribusikan permintaan klien secara merata di seluruh server backend. Proses ini sangat membantu dalam menghindari skenario di mana server tertentu menjadi kelebihan beban (over load) karena lonjakan permintaan yang tiba-tiba. Penyeimbangan beban juga meningkatkan redundansi seolah-olah satu server mati, proxy akan bertugas merutekan atau meredirect traffik yang masuk ke backend yang lainnya.
- Web Acceleration
Reverse Proxy dapat mengkompress data “inbound” dan “outbound”, serta dapat menyimpan cache ataupun konten static dan tentunya dapat mempercepat koneksi antara client – server. Selain itu dengan menggunakan Reverse Proxy Anda dapat menerapkan Secure Sockets Layer (SSL).
- Security dan Anonymity
Dengan reverse proxy nginx permintaan (request) tidak langsung diarahkan ke sisi backend dan disini reverse proxy nginx juga melindungi identitas server backend dan menjadi salah satu pertahanan atau security serta yang menghandle semua request yang Ada tanpa membebani server backend.
Referensi:
Itulah beberapa rangkuman singkat mengenai Reverse Proxy Nginx semoga bermanfaat bagi kita semua.
Selamat mencoba 😊.