Apa itu Proxy Terbalik dan Bagaimana Cara Kerjanya?

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

Apa itu Proxy Terbalik?

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

Proxy terbalik 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 mengirim, atau “proksi,” permintaan itu ke server akhir. Server ini disebut “server asal” karena benar-benar akan menanggapi permintaan.

Sementara pengguna kemungkinan 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 satu situs web. Semuanya tersembunyi di balik proxy terbalik, dan juga memiliki banyak manfaat.

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

Untuk Apa Reverse Proxy Digunakan?

Proksi terbalik relatif sederhana dalam konsep tetapi terbukti menjadi alat yang sangat berguna dengan banyak kasus penggunaan yang tidak terduga.

Penyeimbang beban

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

Ini berarti bahwa hambatan biasanya adalah server asal, tetapi dengan proxy terbalik 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 juga dapat secara otomatis menskalakan jumlah server asal sebagai respons terhadap lalu lintas, sebuah fitur yang disebut “penskalaan otomatis.”

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

KONEKSI: Cara Memulai Dengan AWS Elastic Load Balancer

Cache

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

Misalnya, artikel yang sedang Anda baca ini disajikan oleh WordPress, yang perlu berbicara dengan database SQL untuk mendapatkan konten artikel dan metadata. Melakukan ini untuk setiap penyegaran halaman dengan senang hati mengingat halaman tidak pernah benar-benar berubah. Jadi, rute ini dapat di-cache, dan proxy terbalik hanya akan mengembalikan respons terakhir ke pengguna berikutnya, alih-alih mengganggu WordPress lagi.

Jaringan khusus proxy terbalik yang menyimpan konten Anda di cache disebut Jaringan Pengiriman Konten, atau CDN. CDN seperti CloudFlare atau Fastly biasanya digunakan oleh situs web besar untuk mempercepat pengiriman global. Server di seluruh dunia yang menyimpan konten cache disebut “edge node”, dan memiliki banyak server dapat membuat situs web Anda menjadi sangat cepat.

Perlindungan dan Privasi Jaringan

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

Ini membuat konfigurasi jaringan Anda tetap pribadi, dan sementara keamanan dengan ketidakjelasan tidak pernah mudah, itu lebih baik daripada membiarkannya terbuka untuk diserang.

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

Frontend yang Dapat Dikonfigurasi

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

Misalnya, NGINX mampu menilai permintaan batas pada rute tertentu, yang dapat mencegah pelaku membuat ribuan permintaan ke server asal dari satu IP. Itu tidak mencegah serangan DDOS, tapi bagus untuk dimiliki.

NGINX juga dapat meneruskan lalu lintas dari beberapa nama domain dengan blok “server” yang dikonfigurasi. Misalnya, ia dapat mengirim permintaan ke example.com di server asal Anda, tetapi kirim api.example.com ke server API khusus Anda, atau files.example.com ke penyimpanan file Anda, dan sebagainya. 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, ada gunanya memiliki NGINX di mesin yang sama dengan layanan lokal lainnya, hanya untuk menyajikan konten dari layanan tersebut. Misalnya, ASP.NET web API 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 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 informasi berguna tentang lalu lintas Anda, dan meskipun tidak mengalahkan fitur layanan seperti Google Analytics, ini adalah informasi yang bagus untuk dimiliki.

Leave a Comment

Your email address will not be published. Required fields are marked *