Forward Proxy vs Reverse Proxy: Apa Bedanya & Cara Kerjanya?
Istilah forward proxy dan reverse proxy sama-sama menggunakan kata “proxy”, tetapi posisi serta pihak yang diwakilinya berbeda. Ini yang sering membuat keduanya tertukar ketika pertama kali mempelajari cara kerja jaringan web.
Forward proxy berada di sisi client. Browser atau aplikasi mengirim koneksi melalui proxy sebelum menuju internet. Sementara itu, reverse proxy berada di sisi server dan menerima request pengguna sebelum request tersebut diteruskan ke server backend.
Jadi ketika membahas forward proxy vs reverse proxy, kita sebenarnya sedang membandingkan dua posisi proxy dalam jalur komunikasi yang berbeda.
Kalau konsep dasarnya belum familiar, baca terlebih dahulu panduan apa itu proxy dan penjelasan lengkap mengenai proxy server.
Apa Itu Forward Proxy?
Forward proxy adalah server proxy yang menerima koneksi dari client kemudian meneruskannya menuju server atau layanan di internet.
Client biasanya berupa browser, aplikasi, script, atau beberapa perangkat dalam sebuah jaringan. Mereka menggunakan forward proxy sebagai jalur keluar menuju internet.
Dalam konfigurasi tersebut, website tujuan berkomunikasi dengan proxy. Alamat yang terlihat sebagai sumber koneksi dapat berupa IP proxy, tergantung protokol dan konfigurasi yang digunakan.
Apa Itu Reverse Proxy?
Reverse proxy adalah server yang berada di depan satu atau beberapa backend server dan menerima request dari client sebelum meneruskannya ke server yang sesuai.
Pengguna biasanya membuka domain website seperti biasa. Mereka tidak perlu memasukkan alamat reverse proxy secara manual ke pengaturan browser.
Dari sisi pengguna, reverse proxy dapat terlihat seperti server website itu sendiri karena request pertama memang diterima olehnya.
Perbedaan Forward Proxy vs Reverse Proxy secara Singkat
| Aspek | Forward Proxy | Reverse Proxy |
|---|---|---|
| Mewakili | Client | Server / backend |
| Posisi | Di antara client dan internet | Di antara internet dan origin server |
| Pengguna utama | Browser, aplikasi, perangkat, perusahaan | Website, API, aplikasi web, infrastruktur server |
| IP yang dapat disembunyikan | IP client dari server tujuan | IP origin server dari publik jika dikonfigurasi dengan benar |
| Load balancing | Bukan fungsi utama | Umum digunakan |
| Caching | Bisa | Bisa |
| TLS termination | Bergantung implementasi | Umum digunakan |
| Konfigurasi client | Sering diperlukan | Biasanya tidak perlu |
1. Forward Proxy Bekerja untuk Client
Cara termudah memahami forward proxy adalah melihat siapa yang berada di belakang proxy tersebut.
Pada forward proxy, yang berada di belakang proxy adalah client.
Server tujuan tidak perlu mengetahui struktur perangkat yang berada di belakang forward proxy. Ia menerima koneksi melalui proxy tersebut.
Model seperti ini digunakan pada banyak jenis proxy yang biasa dipakai pengguna untuk browsing, testing, automation, atau kebutuhan jaringan lainnya.
2. Reverse Proxy Bekerja untuk Server
Pada reverse proxy, arah pemikirannya dibalik.
Pengunjung datang dari internet menuju sebuah domain. Request terlebih dahulu diterima reverse proxy, lalu diteruskan ke server backend yang sesuai.
Backend tersebut biasa disebut origin server atau upstream server, tergantung teknologi dan konteks yang digunakan.
3. Siapa yang Mengetahui Alamat Tujuan?
Pada forward proxy, client mengetahui website atau server yang ingin dihubungi dan mengirim tujuan tersebut kepada proxy.
Forward proxy kemudian membuka koneksi menuju tujuan tersebut atas nama client.
Pada reverse proxy, pengunjung umumnya hanya mengetahui domain publik. Pengunjung tidak harus mengetahui server backend mana yang akan melayani request.
4. Perbedaan IP yang Disembunyikan
Forward proxy dapat membuat server tujuan menerima koneksi melalui alamat IP proxy, sehingga IP client tidak digunakan langsung sebagai sumber koneksi ke tujuan.
Reverse proxy mempunyai posisi sebaliknya. Ia dapat membuat pengunjung berkomunikasi dengan alamat reverse proxy daripada langsung ke IP origin server.
| Jenis | Yang Berada di Belakang Proxy | Yang Dilihat Sisi Lain |
|---|---|---|
| Forward Proxy | Client | Alamat forward proxy |
| Reverse Proxy | Origin / backend server | Alamat reverse proxy |
Tetapi reverse proxy tidak otomatis menjamin origin IP benar-benar tersembunyi. DNS lama, layanan lain pada server yang sama, konfigurasi langsung ke origin, atau informasi yang bocor dari sistem lain masih dapat memperlihatkan alamat backend.
5. Forward Proxy untuk Mengontrol Akses Client
Forward proxy tidak hanya digunakan untuk mengganti IP.
Dalam jaringan perusahaan atau sekolah, forward proxy dapat digunakan untuk mengatur bagaimana perangkat internal mengakses internet.
Akses terhadap kategori website tertentu dapat dibatasi.
Administrator dapat mencatat request sesuai kebijakan jaringan.
Hanya pengguna atau perangkat tertentu yang diizinkan menggunakan proxy.
Konten tertentu dapat disimpan agar tidak selalu diminta ulang dari internet.
Penggunaan lain dari proxy sudah dibahas lebih luas di artikel fungsi proxy.
6. Reverse Proxy untuk Load Balancing
Salah satu fungsi reverse proxy yang paling umum adalah membagi request ke beberapa server backend.
Misalnya sebuah website mempunyai tiga web server.
Request 1
Request 2
Request 3
Reverse proxy dapat menentukan server mana yang menerima request berdasarkan algoritma atau konfigurasi yang digunakan.
Tujuannya bukan hanya membagi jumlah traffic. Sistem juga dapat mempertimbangkan kesehatan backend agar request tidak terus dikirim ke server yang sedang bermasalah.
7. Reverse Proxy Bisa Melakukan Health Check
Dalam konfigurasi tertentu, reverse proxy atau load balancer dapat melakukan pengecekan terhadap backend.
Jika satu server tidak merespons dengan baik, traffic dapat dialihkan ke server lain yang masih tersedia.
Fitur seperti ini membantu meningkatkan availability, tetapi perilakunya bergantung pada software dan konfigurasi reverse proxy.
8. Reverse Proxy Bisa Melakukan Caching
Reverse proxy tidak harus meneruskan setiap request ke origin.
Untuk konten yang dapat di-cache, reverse proxy bisa menyimpan response sementara kemudian memberikannya langsung kepada pengunjung berikutnya.
Response Langsung
Ambil dari Origin
Dengan konfigurasi yang tepat, caching dapat mengurangi request yang harus diproses origin dan mempercepat pengiriman konten tertentu.
9. Reverse Proxy dan CDN Apakah Sama?
Tidak selalu, tetapi keduanya dapat berkaitan.
CDN menggunakan jaringan server yang ditempatkan di berbagai lokasi untuk mendekatkan konten kepada pengguna. Banyak layanan CDN bekerja sebagai reverse proxy karena request pengguna masuk ke jaringan mereka terlebih dahulu sebelum mencapai origin.
Namun istilah reverse proxy lebih luas. Sebuah reverse proxy juga bisa hanya berupa satu server di depan aplikasi tanpa mempunyai jaringan CDN global.
| Reverse Proxy | CDN |
|---|---|
| Konsep server perantara di depan backend | Jaringan distribusi konten |
| Bisa berada pada satu lokasi | Biasanya mempunyai banyak edge location |
| Bisa melakukan routing dan load balancing | Fokus tambahan pada distribusi dan caching konten |
| Tidak selalu CDN | Banyak CDN menggunakan model reverse proxy |
10. Reverse Proxy dan TLS Termination
Pada sebuah website HTTPS, reverse proxy dapat menjadi titik yang menangani koneksi TLS dari pengunjung.
Reverse Proxy
Reverse proxy menangani sertifikat dan proses TLS pada sisi publik, kemudian meneruskan request menuju backend berdasarkan desain infrastrukturnya.
Koneksi dari reverse proxy ke backend juga dapat menggunakan TLS. Jadi TLS termination tidak berarti jalur internal harus selalu menggunakan koneksi tanpa enkripsi.
11. Bagaimana Reverse Proxy Mengetahui IP Pengunjung?
Karena backend menerima koneksi dari reverse proxy, alamat sumber yang terlihat secara langsung oleh backend bisa menjadi IP reverse proxy.
Agar aplikasi tetap mengetahui IP client asli, reverse proxy dapat meneruskan informasi tersebut menggunakan header atau mekanisme lain yang didukung infrastrukturnya.
IP A
IP B
Konfigurasi trust di bagian ini penting. Aplikasi tidak sebaiknya mempercayai header IP client secara sembarangan jika request juga dapat langsung mencapai backend.
12. Apakah Forward Proxy Selalu Anonymous?
Tidak.
Forward hanya menjelaskan posisi proxy dalam koneksi. Istilah tersebut tidak menentukan tingkat anonimitasnya.
Sebuah forward proxy dapat mempunyai konfigurasi yang meneruskan informasi tertentu mengenai client, sementara proxy lain dapat mengurangi informasi tersebut.
Untuk memahami perbedaannya, baca artikel proxy anonymous dan tingkat anonimitas.
13. Apakah Reverse Proxy Membuat Website Aman?
Reverse proxy dapat menjadi salah satu lapisan keamanan, tetapi bukan jaminan bahwa website otomatis aman.
Keamanan tetap bergantung pada konfigurasi keseluruhan.
Origin dapat dibatasi agar hanya menerima koneksi dari reverse proxy.
Request tertentu dapat dibatasi sebelum mencapai backend.
Traffic dapat diperiksa berdasarkan aturan yang dikonfigurasi.
Reverse proxy dapat menangani koneksi HTTPS dari pengunjung.
Kalau origin tetap terbuka langsung ke internet, beberapa manfaat perlindungan reverse proxy dapat berkurang.
14. Contoh Penggunaan Forward Proxy
Browser menggunakan proxy sebagai jalur menuju internet.
Script dapat menggunakan proxy untuk menentukan IP keluar setiap request atau sesi.
Aplikasi melakukan testing melalui IP dari lokasi tertentu.
Administrator mengatur akses internet dari perangkat internal.
15. Contoh Penggunaan Reverse Proxy
Reverse proxy menerima request sebelum diteruskan ke web server.
Traffic dibagi ke beberapa backend.
Request API dapat diarahkan menuju service yang sesuai.
Response tertentu dapat diberikan tanpa selalu menghubungi origin.
Koneksi HTTPS dapat ditangani sebelum request diteruskan ke aplikasi.
Backend dapat dibatasi agar tidak langsung menerima traffic publik.
16. Apakah Nginx Termasuk Reverse Proxy?
Nginx dapat digunakan sebagai reverse proxy, tetapi itu bukan satu-satunya fungsi Nginx.
Dalam konfigurasi reverse proxy, Nginx menerima request dari client lalu meneruskannya ke aplikasi atau server lain yang menjadi upstream.
Model seperti ini umum digunakan ketika aplikasi berjalan pada port internal dan Nginx menangani domain serta koneksi publik di depannya.
17. Apakah Cloud Proxy Termasuk Reverse Proxy?
Banyak layanan cloud, CDN, atau edge network menggunakan arsitektur reverse proxy.
Ketika proxy diaktifkan untuk sebuah domain, request pengguna dapat masuk ke jaringan penyedia terlebih dahulu sebelum diteruskan menuju origin.
Dari luar, pengunjung berinteraksi dengan alamat jaringan tersebut, sedangkan origin berada di belakangnya.
Tetapi fitur tepatnya tetap berbeda antarprovider. Ada layanan yang menyediakan caching, load balancing, WAF, DDoS protection, routing, atau kombinasi beberapa fitur tersebut.
18. Bisa Menggunakan Forward dan Reverse Proxy Bersamaan?
Bisa. Keduanya berada pada sisi berbeda sehingga tidak saling menggantikan.
Contohnya seorang pengguna memakai forward proxy pada browser untuk mengakses sebuah website yang kebetulan menggunakan reverse proxy.
Dari sisi client, forward proxy mengatur jalur keluar. Dari sisi website, reverse proxy mengatur jalur masuk menuju backend.
19. Forward Proxy atau Reverse Proxy: Mana yang Digunakan?
Pilihannya ditentukan oleh sisi mana yang ingin dikelola.
| Kebutuhan | Jenis Proxy |
|---|---|
| Browser perlu memakai IP lain | Forward proxy |
| Script perlu menggunakan proxy pool | Forward proxy |
| Mengatur akses internet perangkat kantor | Forward proxy |
| Menempatkan proxy di depan website | Reverse proxy |
| Membagi request ke beberapa backend | Reverse proxy |
| Menyembunyikan origin dari akses publik langsung | Reverse proxy dengan konfigurasi origin yang benar |
| Melakukan caching di depan server | Reverse proxy |
20. Cara Mudah Mengingat Perbedaannya
Kalau masih tertukar, lihat siapa yang berada di belakang proxy.
Forward proxy mewakili client. Reverse proxy mewakili sisi server. Dari prinsip sederhana tersebut, sebagian besar perbedaannya sudah bisa dipahami.
GudangProxy menyediakan daftar proxy gratis yang dapat difilter berdasarkan negara, protokol, tingkat anonimitas, dan status koneksi.
Lihat Daftar Proxy Gratis →FAQ Forward Proxy vs Reverse Proxy
Apa perbedaan utama forward proxy dan reverse proxy?
Forward proxy bekerja mewakili client ketika mengakses internet, sedangkan reverse proxy berada di depan server dan menerima request sebelum meneruskannya ke backend.
Apakah proxy yang digunakan di browser termasuk forward proxy?
Umumnya iya. Ketika browser dikonfigurasi menggunakan alamat proxy untuk mengakses website, proxy tersebut bekerja pada sisi client sebagai forward proxy.
Apakah reverse proxy mengganti IP pengunjung?
Reverse proxy menjadi titik yang menerima koneksi client, sehingga backend dapat melihat koneksi berasal dari reverse proxy. Informasi IP client asli dapat diteruskan menggunakan mekanisme yang dikonfigurasi dan dipercaya oleh backend.
Apakah reverse proxy sama dengan load balancer?
Tidak selalu. Reverse proxy dapat mempunyai fungsi load balancing, tetapi sebuah reverse proxy tidak harus membagi traffic ke banyak server. Ia juga dapat digunakan di depan satu backend saja.
Apakah CDN termasuk reverse proxy?
Banyak CDN menggunakan model reverse proxy karena request pengguna masuk ke jaringan CDN sebelum mencapai origin. Namun reverse proxy sendiri merupakan konsep yang lebih luas dan tidak selalu berupa CDN.
Bisakah forward proxy dan reverse proxy digunakan bersamaan?
Bisa. Forward proxy berada pada sisi client, sementara reverse proxy berada pada sisi server. Satu koneksi dapat melewati keduanya.
Apakah reverse proxy menyembunyikan IP origin?
Bisa jika infrastrukturnya dikonfigurasi dengan benar. Namun origin masih dapat terekspos melalui DNS lama, service lain, akses langsung, atau kesalahan konfigurasi, jadi penggunaan reverse proxy saja bukan jaminan origin tidak dapat ditemukan.
