Bayangkan kamu mau mengirim surat, tapi alih-alih memasukkannya sendiri ke kotak pos, kamu menyerahkannya ke seorang asisten. Dia yang menuliskan alamat, menempel perangko, dan mengirimkannya untukmu — dan saat balasan datang, surat itu mendarat dulu di mejanya, diperiksa, baru sampai ke kamu. Asisten itulah proxy. Sekarang bayangkan kantormu ada di satu negara dan penerimanya di negara lain, dengan aturan pos yang beda, formulir yang beda, bahkan bahasa di amplop yang beda. Pasti ada sesuatu di perbatasan yang menerjemahkan dan meneruskan suratmu ke format yang dimengerti pihak seberang. Sesuatu itulah gateway.
Dua istilah ini terus-menerus muncul di dunia jaringan, sering dipakai seolah-olah artinya sama. Padahal tidak — dan begitu bedanya nyantol, ini benar-benar berguna. Proxy itu wakil yang menangani permintaan atas namamu. Gateway itu pintu antara dua dunia yang berbeda. Artikel ini akan memisahkan keduanya, membahas jenis-jenis yang akan benar-benar kamu temui, dan menunjukkan masing-masing duduk di mana dalam perjalanan lalu lintas datamu.
Proxy itu sebenarnya apa
Proxy adalah server yang berada di tengah sebuah percakapan dan bertindak atas nama salah satu pihak. Daripada client bicara langsung ke tujuan, dia bicara ke proxy, lalu proxy yang meneruskan permintaannya, mengambil jawabannya, dan menyerahkannya kembali.
Satu lapisan perantara ini ternyata punya kekuatan luar biasa. Karena setiap permintaan dan jawaban mengalir melewati proxy, dia bisa memeriksanya, mengubahnya, menyimpannya di cache, memblokirnya, mencatatnya, atau mengalihkannya. Ini titik pemeriksaan yang bisa kamu kendalikan, persis berada di jalur lalu lintas data.
Yang perlu kamu pegang: proxy tidak memulai percakapan, dan dia juga bukan tujuan akhir-nya. Dia berdiri di tengah, mewakili satu pihak kepada pihak lainnya. Nah, pihak mana yang dia wakili — itulah yang membelah proxy jadi dua keluarga besar.
tanpa proxy
CLIENT ───────────────────────────► TUJUAN
dengan proxy
CLIENT ─────► PROXY ─────► TUJUAN
│
periksa / cache / saring / catat
Forward proxy: mewakili si client
Forward proxy berada di depan para client. Orang (atau mesin) di sisi dalam mengirim permintaannya ke proxy, lalu proxy itu yang menjangkau internet luas untuk mereka. Bagi dunia luar, permintaan tadi tampak datang dari proxy, bukan dari client aslinya.
Inilah jenis proxy yang dipasang sebuah perusahaan di tepi jaringan kantornya. Browser setiap karyawan diatur supaya lewat sana, dan itu memberi perusahaan satu tempat untuk menegakkan aturan:
- Penyaringan — memblokir situs tertentu, memindai malware, mencegah data bocor keluar.
- Privasi / anonimitas — menyembunyikan alamat IP client asli; tujuan hanya melihat proxy.
- Caching — kalau seratus karyawan meminta berkas yang sama, proxy bisa mengambilnya sekali lalu menyajikan salinan cache ke sisanya, menghemat bandwidth.
- Pencatatan dan kebijakan — mencatat siapa pergi ke mana, dan menerapkan aturan akses di satu titik saja.
VPN itu kerabat dekat dari ide ini, begitu juga “proxy server” yang dipakai orang untuk menjangkau konten yang dikunci per wilayah. Pada semua contoh itu, proxy berbicara mewakili client.
FORWARD PROXY (mewakili para CLIENT)
client A ─┐
client B ─┼──► FORWARD PROXY ─────► internet
client C ─┘ (satu pintu keluar)
Reverse proxy: mewakili si server
Balik posisinya, dan kamu dapat reverse proxy. Yang ini berada di depan para server. Client di internet mengirim permintaan ke reverse proxy, lalu dia yang memutuskan server backend mana yang harus menangani tiap permintaan, mengambil jawabannya, dan mengembalikannya. Bagi client, reverse proxy itulah website-nya — mereka tidak pernah melihat mesin-mesin di belakangnya.
Inilah kuda beban infrastruktur web modern. Reverse proxy adalah tempat HTTPS diterminasi, tempat lalu lintas disebar ke beberapa server backend, tempat caching dan kompresi terjadi, dan tempat satu domain bisa diam-diam bercabang ke banyak layanan berbeda. Konsep ini begitu penting sampai pantas dibahas tersendiri — kalau kamu mau gambaran lengkapnya, baca panduan kami soal reverse proxy, dan ide yang sangat berkaitan, yaitu load balancing.
REVERSE PROXY (mewakili para SERVER)
┌──► app server 1
client ──► REVERSE ───┼──► app server 2
PROXY └──► app server 3
(satu pintu masuk)
Forward vs reverse, dalam satu kalimat
Forward proxy melindungi dan mewakili client yang bersembunyi di belakangnya (bayangkan: jaringan kantor menjangkau ke luar). Reverse proxy melindungi dan mewakili server yang bersembunyi di belakangnya (bayangkan: sebuah website menerima permintaan masuk). Mesinnya sama — perantara yang meneruskan lalu lintas — cuma arahnya berlawanan.
Gateway itu sebenarnya apa
Gateway itu makhluk yang berbeda. Kalau proxy meneruskan lalu lintas sejalan (jaringan sama, jenis protokol sama, sekadar diteruskan lewat perantara), gateway berada di antara dua jaringan atau dua protokol yang berbeda dan menerjemahkan antara keduanya. Dia sebuah pintu, dan menyeberanginya berarti diubah ke bahasa apa pun yang hidup di sisi seberang.
Contoh yang paling akrab sedang duduk di rumahmu sekarang. Default gateway kamu adalah router yang menghubungkan jaringan rumah lokalmu ke internet. Laptop, ponsel, dan TV-mu semua berbagi satu jaringan privat di rumah; tidak ada satu pun dari mereka yang bisa bicara langsung ke internet luas. Mereka menyerahkan lalu lintasnya ke gateway, yang meneruskannya keluar dan menerjemahkan pengalamatannya (inilah sebagian dari kerja NAT) supaya balasannya bisa menemukan jalan pulang. Setiap perangkat punya pengaturan “default gateway” justru karena alasan ini: dia adalah pintu keluar menuju semua tempat lain.
Gateway muncul di mana pun dua sistem yang secara alami tidak saling paham perlu berbicara:
- Network gateway / router — menyambungkan jaringan lokalmu ke internet (router rumahmu).
- API gateway — satu pintu masuk di depan banyak layanan backend, sering menerjemahkan, mengautentikasi, dan membatasi laju permintaan sebelum meneruskannya lebih dalam.
- Payment gateway — menjembatani toko online dengan jaringan perbankan yang benar-benar memindahkan uang.
- Email gateway — berada di antara sistem surelmu dan dunia luar, menyaring spam dan menegakkan kebijakan.
- Protocol gateway — mengubah satu protokol jadi protokol lain sepenuhnya, misalnya mengubah pesan dari sistem industri lawas menjadi sesuatu yang bisa dibaca aplikasi modern.
Benang merahnya: gateway adalah titik di mana lalu lintas menyeberangi sebuah batas dan bisa diubah agar pas dengan sisi seberang.
GATEWAY (pintu antara dua dunia yang berbeda)
jaringan rumah ──► GATEWAY ──► internet
(IP privat) (router / (IP publik,
menerjemah) aturan beda)
Proxy vs gateway: bagian yang sering tertukar
Jujur saja: garis antara proxy dan gateway memang kabur dalam praktiknya, dan kamu akan mendengar dua kata ini dipakai longgar. Tapi niat di balik masing-masing berbeda, dan justru itulah yang penting.
| Proxy | Gateway | |
|---|---|---|
| Kerja inti | Meneruskan permintaan atas nama seseorang | Menjembatani dua jaringan/protokol berbeda |
| Yang diubah | Biasanya bukan protokolnya — jenis lalu lintas masuk dan keluar sama | Sering menerjemahkan satu protokol/format ke yang lain |
| Cara membayangkan | Seorang wakil / perwakilan | Sebuah pintu / penyeberangan perbatasan |
| Contoh khas | Forward proxy, reverse proxy | Router rumah, API gateway, payment gateway |
| Mewakili siapa | Client (forward) atau server (reverse) | Jaringan mana pun yang perlu menjangkau yang lain |
Reverse proxy dan API gateway, khususnya, tumpang tindih begitu banyak sampai produknya sering dijual sebagai keduanya sekaligus. Bedanya kira-kira begini: reverse proxy terutama merutekan dan meneruskan jenis lalu lintas web yang sama, sedangkan API gateway menambah lapisan memahami permintaannya — autentikasi, pembatasan laju, membentuk ulang permintaan, menyatukan beberapa layanan jadi satu. Kalau sesuatu cuma meneruskan lalu lintas, condonglah menyebutnya proxy; kalau dia menyeberangi batas lalu mengubah atau mengatur lalu lintasnya, condonglah ke gateway.
Jangan terjebak pada labelnya
Di sistem nyata, satu kotak yang sama sering mengerjakan beberapa tugas ini sekaligus, dan tim memakai kata mana pun yang terasa pas. Fokuslah pada perilakunya: apakah benda ini meneruskan lalu lintas atas nama seseorang (mirip proxy), atau dia titik penyeberangan antara dua dunia berbeda tempat segala sesuatu diterjemahkan (mirip gateway)? Begitu perilakunya benar, soal penamaan beres dengan sendirinya.
Posisinya di jalur sebuah permintaan
Akan lebih jelas kalau kamu lihat bagaimana para perantara ini bertumpuk dalam satu perjalanan yang realistis. Bayangkan seorang karyawan di ACY Partner Indonesia membuka sebuah website dari kantor:
[browser]
│ permintaan keluar dari laptop
▼
[FORWARD PROXY] ← penyaring / cache keluar milik perusahaan
│ keluar dari jaringan kantor lewat…
▼
[GATEWAY / router] ← pintu dari LAN kantor ke internet
│ melintasi internet menuju website
▼
[REVERSE PROXY] ← pintu depan website (HTTPS, perutean)
│ diserahkan ke backend yang tepat
▼
[app server] ← yang benar-benar menyusun jawabannya
Satu permintaan, dan dia bisa melewati forward proxy, gateway, lalu reverse proxy sebelum apa pun yang nyata terjadi — lalu jawabannya menelusuri seluruh jalur itu balik lagi. Tidak satu pun dari ini terlihat oleh orang yang baru saja mengetik sebuah URL, dan justru itulah intinya. Mereka bekerja diam-diam, di celah-celah antara bagian yang kelihatan.
Kenapa ini penting
Kamu tidak perlu mengonfigurasi semua ini untuk mendapat manfaat dari memahaminya. Mengerti beda proxy dan gateway langsung terasa gunanya begitu kamu mulai membaca diagram infrastruktur dunia nyata, mendebug kenapa sebuah permintaan “tampak datang dari tempat lain”, atau memilih perangkat untuk susunanmu sendiri.
- Saat sebuah tujuan mencatat alamat IP yang salah, penyebabnya biasanya forward proxy atau penerjemahan alamat oleh gateway-mu.
- Saat satu domain diam-diam melayani banyak layanan di belakangnya, reverse proxy-lah yang melakukan peruteannya.
- Saat perangkatmu tidak bisa menjangkau internet, default gateway yang salah setel adalah salah satu hal pertama yang harus dicek.
- Saat kamu membangun aplikasi yang terdiri dari beberapa layanan, API gateway sering jadi cara memberi dunia luar satu pintu depan yang rapi.
Komponen-komponen ini adalah jaringan penghubung dari setiap jaringan. Mereka duduk di ruang antara bagian-bagian yang kelihatan — antara kamu dan internet, antara internet dan sebuah website, antara satu layanan dan layanan berikutnya — dan merekalah yang menentukan apa yang boleh lewat, ke mana arahnya, dan dalam bentuk apa dia tiba. Aturan penyaringan yang bergantung pada mereka, seperti firewall, jadi jauh lebih masuk akal begitu kamu bisa melihat para perantara yang berdiri di sebelahnya.
Penutup
Ini gambaran utuhnya dalam satu tempat:
- Proxy adalah wakil yang meneruskan permintaan atas nama seseorang. Dia tidak memulai dan tidak menjadi penerima akhir lalu lintasnya — dia duduk di tengah dan bisa memeriksa, menyimpan cache, menyaring, atau mencatat semua yang lewat.
- Forward proxy mewakili client di belakangnya (proxy keluar milik perusahaan). Reverse proxy mewakili server di belakangnya (pintu depan sebuah website).
- Gateway adalah pintu antara dua jaringan atau protokol yang berbeda, dan dia sering menerjemahkan lalu lintas agar pas dengan sisi seberang. Router rumahmu contoh klasiknya; API gateway dan payment gateway contoh lainnya.
- Proxy vs gateway: proxy meneruskan jenis lalu lintas yang sama; gateway menjembatani dan mengubah melintasi sebuah batas. Di sistem nyata perannya kabur, jadi fokuslah pada perilaku, bukan labelnya.
- Satu permintaan bisa melewati forward proxy, gateway, lalu reverse proxy sebelum sampai ke server yang benar-benar menjawabnya.
Berikutnya, ada baiknya kita turun satu lapisan lebih dalam ke sistem yang mengubah nama ramah-manusia menjadi alamat yang diandalkan oleh semua perutean ini — pembahasan tuntas soal bagaimana DNS benar-benar bekerja di balik layar.