Apa itu Proxy Terbalik, dan Bagaimana Cara Kerjanya?

  • Post author:
  • Post category:Tutorial

Reverse proxy adalah alat yang berguna dalam perangkat administrator sistem apa pun. Mereka memiliki banyak kegunaan, termasuk penyeimbangan beban, perlindungan dari serangan DDOS

Apa Itu Reverse Proxies?

Proxy biasa, yang disebut Forward Proxy, adalah server yang melaluinya koneksi pengguna dirutekan. Dalam banyak hal, ini seperti VPN sederhana, yang berada di depan koneksi internet Anda. VPN adalah contoh umum dari hal ini, tetapi VPN juga menyertakan hal-hal seperti firewall sekolah, yang dapat memblokir akses ke konten tertentu.

bekerja sedikit berbeda. Ini adalah alat backend yang digunakan oleh administrator sistem. Alih-alih terhubung langsung ke situs web yang menyajikan konten, proxy terbalik seperti NGINX dapat berada di tengah. Ketika menerima permintaan dari pengguna, itu akan mengirim ke depan, atau “proksi,” permintaan itu ke server akhir. Server ini disebut “server asal” karena itulah yang sebenarnya akan merespons permintaan.

Sementara pengguna mungkin akan tahu jika mereka dirutekan melalui proxy maju seperti VPN atau firewall, proxy terbalik adalah alat backend. Sejauh yang diketahui pengguna, mereka hanya terhubung ke situs web. Segala sesuatu di balik proxy terbalik disembunyikan, dan ini juga memiliki banyak manfaat.

Efek ini juga terjadi secara terbalik. Server asal tidak memiliki koneksi langsung ke pengguna dan hanya akan melihat banyak permintaan yang datang dari IP proxy terbalik. Ini bisa menjadi masalah, tetapi sebagian besar layanan proxy seperti NGINX akan menambahkan header seperti X-Forwarded-For ke permintaan. Header ini akan memberi tahu server asal tentang alamat IP klien yang sebenarnya.

Untuk Apa Proxy Terbalik Digunakan?

Reverse proxy cukup sederhana dalam konsep tetapi terbukti menjadi alat yang sangat berguna dengan banyak kasus penggunaan yang tidak terduga.

Load Balancing

Salah satu manfaat utama dari a reverse proxy adalah seberapa ringannya mereka. Karena mereka hanya meneruskan permintaan, mereka tidak perlu melakukan banyak pemrosesan, terutama dalam situasi di mana database perlu ditanyakan.

Ini berarti bottleneck sering kali berasal dari server asal, tetapi dengan kebalikannya proxy di depannya, Anda dapat dengan mudah memiliki beberapa server asal. Misalnya, proxy dapat mengirim 50% permintaan ke satu server, dan 50% ke server lain, menggandakan kapasitas situs web. Layanan seperti HAProxy dirancang untuk menangani ini dengan baik.

Ini adalah kasus penggunaan yang sangat umum, dan sebagian besar penyedia cloud seperti Amazon Web Services (AWS) akan menawarkan penyeimbangan beban sebagai layanan, sehingga Anda tidak perlu repot mengaturnya sendiri. Dengan otomatisasi cloud, Anda bahkan dapat secara otomatis meningkatkan jumlah server asal sebagai respons terhadap lalu lintas, sebuah fitur yang disebut “penskalaan otomatis.”

Load balancer seperti Elastic Load Balancer AWS dapat diatur untuk secara otomatis mengonfigurasi ulang sendiri saat server asal Anda naik dan ke bawah, semua dimungkinkan oleh proxy terbalik di bawah tenda.

Caching

AWS Karena proxy terbalik sering kali lebih cepat merespons daripada server asal, teknik yang disebut caching biasanya digunakan untuk mempercepat up permintaan pada rute umum. Caching adalah ketika data halaman disimpan di proxy terbalik, dan hanya diminta dari server asal setiap beberapa detik/menit. Ini mengurangi ketegangan pada server asal secara dramatis.

Misalnya, artikel yang Anda baca ini sekarang disajikan oleh WordPress, yang perlu berbicara dengan database SQL untuk mengambil konten artikel dan metadata. Melakukan itu untuk setiap penyegaran halaman adalah pemborosan mengingat halaman tidak benar-benar berubah. Jadi, rute ini dapat di-cache, dan reverse proxy hanya akan mengirim kembali respons terakhir ke pengguna berikutnya, daripada mengganggu WordPress lagi.

Jaringan khusus reverse proxy yang menyimpan konten Anda disebut Content Delivery Network, atau CDN. CDN seperti CloudFlare atau Fastly sangat umum digunakan oleh situs web besar untuk mempercepat pengiriman global. Server di seluruh dunia yang men-cache konten disebut “edge node”, dan memiliki banyak server dapat membuat situs web Anda sangat tajam.

Perlindungan & Privasi Jaringan

Karena pengguna tidak tahu apa yang ada di balik proxy terbalik, mereka tidak akan dapat dengan mudah menyerang server asal Anda secara langsung. Faktanya, proxy terbalik biasanya digunakan dengan server asal di subnet pribadi, artinya mereka tidak memiliki koneksi masuk ke internet luar sama sekali.

Ini membuat konfigurasi jaringan Anda tetap pribadi, dan sementara keamanan melalui ketidakjelasan tidak pernah sangat mudah, lebih baik daripada membiarkannya terbuka to attack.

Kepercayaan yang melekat ini juga dapat berguna saat merencanakan jaringan Anda. Misalnya, server API yang berbicara dengan database mirip dengan proxy terbalik. Basis data tahu bahwa ia dapat memercayai server API di subnet pribadi, dan server API bertindak sebagai firewall untuk basis data, hanya mengizinkan koneksi yang benar melaluinya.

Configurable Frontend

Salah satu manfaat proxy terbalik seperti NGINX adalah seberapa dapat dikonfigurasinya mereka. Seringkali, mereka berguna untuk ditampilkan di depan layanan lain hanya untuk mengonfigurasi cara pengguna mengakses layanan tersebut.

Misalnya, NGINX dapat menilai permintaan batas ke rute tertentu, yang dapat mencegah pelaku membuat ribuan permintaan ke server asal dari IP tunggal. Ini tidak menghentikan serangan DDOS, tetapi bagus untuk dimiliki.

NGINX juga dapat meneruskan lalu lintas dari beberapa nama domain dengan blok “server” yang dapat dikonfigurasi. Misalnya, ini dapat mengirim permintaan ke example.com ke server asal Anda, tetapi mengirim api.example.com ke server API khusus Anda, atau files.example.com ke penyimpanan file Anda, dan seterusnya. Setiap server dapat memiliki konfigurasi dan aturannya sendiri.

NGINX juga dapat menambahkan fitur tambahan di atas server asal yang ada, seperti sertifikat HTTPS terpusat dan konfigurasi header.

Terkadang, memiliki NGINX di mesin yang sama dengan layanan lokal lainnya terkadang berguna, hanya untuk menyajikan konten dari layanan itu. Misalnya, API web ASP.NET menggunakan server web internal yang disebut Kestrel, yang bagus dalam menanggapi permintaan, tetapi tidak banyak yang lain. Sangat umum untuk menjalankan Kestrel pada port pribadi dan menggunakan NGINX sebagai proxy terbalik yang dapat dikonfigurasi.

Logging Terpusat

Yang ini cukup sederhana, tetapi memiliki sebagian besar lalu lintas Anda melalui satu layanan memudahkan untuk memeriksa log. Log akses NGINX berisi banyak info berguna tentang lalu lintas Anda, dan meskipun tidak mengalahkan fitur layanan seperti Google Analytics, info yang bagus untuk dimiliki.

Itulah berita seputar Apa itu Proxy Terbalik, dan Bagaimana Cara Kerjanya?, semoga bermanfaat. Disadur dari HowToGeek.com.