Apa Itu PAC Proxy? Cara Kerja Proxy Auto-Configuration
Kalau menggunakan proxy secara manual, biasanya kamu memasukkan satu alamat IP dan port lalu semua traffic yang mengikuti konfigurasi tersebut akan diarahkan melalui proxy. Tetapi bagaimana kalau hanya domain tertentu yang harus memakai proxy, sementara website internal harus tetap terhubung langsung?
Untuk kondisi seperti itu ada mekanisme bernama Proxy Auto-Configuration atau PAC.
Dengan PAC, browser atau aplikasi tidak hanya mendapatkan satu alamat proxy. Mereka mendapatkan sebuah file berisi aturan yang menentukan apakah setiap request harus menggunakan proxy tertentu atau menggunakan koneksi langsung.
Contohnya:
Karena sifatnya berbasis aturan, PAC banyak digunakan pada jaringan perusahaan, sekolah, organisasi, atau environment yang mempunyai kebijakan proxy lebih kompleks daripada sekadar satu IP dan port.
Kalau kamu masih belum familiar dengan proxy dasar, baca terlebih dahulu Apa Itu Proxy dan Apa Itu IP Proxy.
Apa Itu PAC Proxy?
PAC adalah singkatan dari Proxy Auto-Configuration.
PAC bukan jenis proxy baru seperti HTTP, SOCKS5, residential, atau datacenter proxy.
PAC adalah mekanisme konfigurasi yang menentukan proxy mana yang digunakan untuk suatu request, atau apakah request tersebut harus dilakukan secara langsung tanpa proxy.
Bagaimana Cara Kerja PAC?
File PAC berisi JavaScript function bernama:
Setiap kali browser ingin mengakses sebuah URL, function tersebut dijalankan.
Function kemudian mengembalikan hasil seperti:
atau:
atau beberapa pilihan:
Apa Itu FindProxyForURL?
FindProxyForURL() adalah function utama dalam PAC.
Struktur paling dasar:
Dengan konfigurasi tersebut, request akan diarahkan ke:
Apa Arti Parameter url dan host?
Function menerima dua nilai utama.
| Parameter | Isi |
|---|---|
url |
URL yang sedang diakses. |
host |
Hostname dari URL tersebut. |
Contohnya pengguna membuka:
Secara konsep PAC menerima:
Rule kemudian dapat mengambil keputusan berdasarkan hostname atau informasi URL yang tersedia.
Apa Arti DIRECT?
DIRECT berarti request tidak menggunakan proxy.
Apa Arti PROXY?
PROXY berarti browser harus menggunakan HTTP proxy tertentu.
Bisakah PAC Menggunakan SOCKS?
Bisa, tergantung dukungan client.
Beberapa browser juga mendukung format SOCKS tertentu. Untuk memahami jenis protokolnya, baca SOCKS5 Proxy.
PAC Bisa Menggunakan Lebih dari Satu Proxy
Salah satu fungsi menarik PAC adalah menyediakan beberapa pilihan proxy secara berurutan.
Secara sederhana:
Dengan begitu client mempunyai fallback ketika proxy utama tidak dapat digunakan.
Apakah Urutan Proxy Penting?
Ya. Proxy yang ditulis lebih dulu menjadi pilihan utama sesuai perilaku client yang mendukung PAC.
Dalam contoh tersebut proxy Singapura menjadi pilihan pertama.
Apa Itu PAC Fallback?
Fallback adalah pilihan alternatif apabila proxy sebelumnya tidak tersedia.
Proxy B menjadi fallback dari Proxy A, sedangkan DIRECT menjadi opsi terakhir.
Haruskah Selalu Menambahkan DIRECT?
Tidak.
Jika kebijakan jaringan mewajibkan seluruh traffic internet melalui proxy, menambahkan DIRECT sebagai fallback justru dapat melanggar policy.
Contoh PAC Paling Sederhana
Semua URL menggunakan proxy yang sama.
Contoh Bypass Localhost
Localhost tidak dikirim melalui proxy.
Apa Itu isPlainHostName()?
PAC menyediakan helper function seperti:
Function ini berguna untuk mengenali hostname lokal yang tidak mempunyai titik domain.
Bypass Hostname Lokal
Apa Itu dnsDomainIs()?
dnsDomainIs() membantu mencocokkan domain tertentu.
Rule seperti ini berguna untuk melewatkan internal domain tanpa proxy.
Contoh PAC untuk Domain Internal
Apa Itu shExpMatch()?
shExpMatch() digunakan untuk mencocokkan pola sederhana.
Contohnya dapat mencocokkan:
Memilih Proxy Berdasarkan Domain
Dengan pola seperti ini, satu browser dapat menggunakan proxy berbeda berdasarkan destination.
Butuh Proxy untuk Dicoba dengan Konfigurasi PAC?
GudangProxy menyediakan daftar proxy gratis yang dapat difilter berdasarkan negara, protokol, tingkat anonimitas, dan status koneksi. Pilih endpoint sesuai kebutuhan lalu gunakan pada environment testing atau jaringan yang memang kamu kelola.
Lihat Daftar Proxy Gratis →Apa Itu isInNet()?
isInNet() digunakan untuk membuat keputusan berdasarkan network IPv4.
Contoh PAC untuk Jaringan Lokal
Kenapa Jaringan Lokal Sering Di-bypass?
Resource seperti printer, NAS, router, intranet, dashboard internal, dan development server biasanya tidak perlu melewati internet proxy.
Contohnya:
Apa Itu dnsResolve()?
PAC juga mempunyai function:
Contoh:
Hasilnya dapat digunakan dalam rule berikutnya.
Hati-hati dengan DNS di PAC
DNS lookup dapat menambah proses evaluasi PAC.
Jika rule domain berbasis string sudah cukup, tidak selalu perlu melakukan DNS resolution.
Apa Itu isResolvable()?
Function ini mengecek apakah hostname bisa di-resolve.
PAC dan DNS Bukan Hal yang Sama
| Sistem | Fungsi |
|---|---|
| PAC | Menentukan DIRECT atau proxy. |
| DNS | Menerjemahkan hostname menjadi alamat IP. |
Kalau ingin memahami DNS lebih jauh, baca Cara Kerja DNS.
PAC Bisa Memilih Proxy Berdasarkan Waktu?
PAC mempunyai helper seperti:
Rule dapat berubah berdasarkan hari atau waktu tertentu.
Contoh PAC Berdasarkan Jam
Contoh ini hanya menunjukkan kemampuan PAC. Implementasi production harus disesuaikan dengan kebijakan jaringan.
PAC vs Manual Proxy
| Aspek | Manual Proxy | PAC |
|---|---|---|
| Konfigurasi | IP dan port | File/URL berisi rule |
| Routing per domain | Terbatas | Bisa |
| Bypass | Biasanya sederhana | Lebih fleksibel |
| Multiple proxy | Tergantung aplikasi | Bisa |
| Fallback | Tidak selalu | Bisa |
PAC vs Proxy Chain
PAC memilih proxy yang digunakan untuk request.
Sementara proxy chain membuat satu request melewati beberapa proxy:
Baca pembahasan lengkap di Proxy Chain.
PAC vs Rotating Proxy
Keduanya juga berbeda.
| Konsep | Fokus |
|---|---|
| PAC | Memilih endpoint proxy. |
| Rotating Proxy | Mengganti exit IP di belakang gateway. |
Untuk mekanisme rotation, baca Rotating Proxy.
Bagaimana PAC Dipasang?
Biasanya file PAC disediakan melalui sebuah URL.
URL tersebut kemudian dipasang pada browser, Windows, macOS, enterprise policy, atau aplikasi yang mendukung Proxy Auto-Configuration.
Contoh File PAC Lengkap
Kenapa PAC Banyak Digunakan Perusahaan?
Jaringan perusahaan biasanya mempunyai banyak jenis traffic.
PAC membuat aturan tersebut dapat dikelola secara terpusat.
Keuntungan PAC Terpusat
- rule lebih mudah diperbarui,
- tidak perlu mengganti setting satu per satu,
- bisa membuat bypass domain,
- bisa menentukan proxy berbeda,
- bisa membuat fallback.
PAC dan Proxy Authentication
PAC hanya menentukan proxy mana yang digunakan. Authentication tetap ditangani oleh proxy dan client.
Contohnya proxy dapat membalas:
Untuk memahami metode autentikasi proxy, baca Proxy Authentication.
Apakah Username dan Password Sebaiknya Ditulis di PAC?
Tidak.
File PAC sebaiknya dianggap sebagai konfigurasi yang bisa dibaca client. Jangan menggunakannya untuk menyimpan credential rahasia.
PAC dan HTTPS
Kalau PAC memilih HTTP proxy untuk URL HTTPS, alurnya dapat menjadi:
PAC sendiri tidak melakukan encryption. PAC hanya menentukan jalur koneksi.
Apa Itu WPAD?
WPAD masih berkaitan dengan konfigurasi proxy otomatis, tetapi bukan hal yang sama dengan PAC.
| Istilah | Fungsi |
|---|---|
| PAC | Berisi rule pemilihan proxy. |
| WPAD | Membantu client menemukan konfigurasi proxy otomatis. |
Kenapa PAC Tidak Bekerja?
Beberapa penyebab umum:
- URL PAC salah,
- server PAC tidak dapat diakses,
- syntax JavaScript salah,
- FindProxyForURL salah,
- DNS bermasalah,
- proxy offline,
- browser masih memakai konfigurasi lama,
- aplikasi tidak mendukung PAC.
Langkah Pertama Troubleshooting PAC
Buka URL PAC secara langsung:
Pastikan file memang dapat diambil oleh perangkat.
Test PAC dengan DIRECT
Kalau koneksi kembali normal, kemungkinan masalah berada pada rule atau endpoint proxy.
Test Satu Proxy Saja
Setelah itu cek endpoint proxy secara terpisah menggunakan panduan Cara Cek Proxy Aktif.
PAC Bisa Benar tetapi Proxy Mati
Dalam kondisi tersebut periksa:
- hostname/IP,
- port,
- protocol,
- authentication,
- firewall,
- timeout.
PAC dan Proxy Timeout
Jika primary proxy gagal, client dapat membutuhkan waktu sebelum pindah ke fallback.
Kalau ada banyak proxy yang mati, browsing bisa terasa sangat lambat.
Baca juga Proxy Timeout.
Urutan Rule PAC Sangat Penting
Rule spesifik sebaiknya diperiksa lebih dulu.
Contoh yang lebih tepat:
Kalau rule wildcard ditaruh terlebih dahulu, hostname internal bisa keburu cocok dengan rule tersebut.
Kenapa PAC Bisa Membuat Browsing Lambat?
- file PAC lambat diambil,
- rule terlalu kompleks,
- terlalu banyak DNS lookup,
- primary proxy terus gagal,
- proxy memiliki latency tinggi.
PAC dan Proxy Geolocation
PAC dapat mengarahkan destination berbeda melalui proxy negara berbeda.
Untuk memverifikasi lokasi exit IP, baca Proxy Geolocation.
PAC di Chrome
Chrome dapat mengikuti konfigurasi proxy sistem maupun PAC sesuai platform dan policy yang digunakan.
Panduan terkait tersedia di Cara Menggunakan Proxy di Chrome.
PAC di Firefox
Firefox menyediakan opsi Automatic Proxy Configuration URL.
Lihat Cara Setting Proxy di Firefox.
PAC di Windows
Windows mempunyai pengaturan setup script untuk konfigurasi proxy otomatis.
Lihat Cara Setting Proxy di Windows.
PAC di macOS
macOS menyediakan Automatic Proxy Configuration di pengaturan network.
Lihat Cara Setting Proxy di macOS.
Apakah Semua Aplikasi Mengikuti PAC Sistem?
Tidak.
Ada aplikasi yang mengikuti system proxy, ada yang mempunyai setting proxy sendiri, dan ada juga yang tidak menggunakan PAC sama sekali.
PAC Tidak Sama dengan Environment Variable Proxy
Aplikasi command-line sering menggunakan:
Itu merupakan mekanisme berbeda dari PAC.
PAC dan Keamanan
PAC menentukan ke mana traffic diarahkan. Karena itu file PAC harus dianggap sebagai konfigurasi penting.
Jika file tersebut dimodifikasi pihak yang tidak berwenang, traffic dapat diarahkan ke proxy yang salah.
Jangan Menaruh Secret di PAC
Hindari menaruh:
- password,
- API key,
- secret token,
- credential proxy sensitif.
Versioning File PAC
Untuk jaringan besar, beri informasi versi.
Versioning memudahkan debugging jika terjadi masalah setelah perubahan.
Test PAC Sebelum Production
Minimal uji:
- domain internal,
- domain eksternal,
- HTTPS,
- fallback proxy,
- DNS rule,
- browser utama,
- DIRECT connection.
Contoh Test Matrix
| URL | Expected | Result |
|---|---|---|
| intranet.company.local | DIRECT | ✓ |
| example.com | Proxy A | ✓ |
| example.net | Proxy A | ✓ |
| Proxy A Offline | Proxy B | ✓ |
Cara Mendesain PAC yang Mudah Dipelihara
- Letakkan rule paling spesifik terlebih dahulu.
- Gunakan komentar.
- Hindari DNS lookup yang tidak diperlukan.
- Gunakan hostname proxy yang jelas.
- Tentukan fallback secara eksplisit.
- Jangan menyimpan credential rahasia.
- Buat test matrix.
- Simpan version history.
- Dokumentasikan alasan setiap bypass.
- Jaga konfigurasi tetap sederhana.
Kesalahan Umum Saat Menggunakan PAC
- menganggap PAC adalah jenis proxy,
- menganggap beberapa PROXY berarti proxy chain,
- menambahkan DIRECT tanpa memahami policy,
- menaruh rule terlalu umum di atas,
- melakukan DNS lookup berlebihan,
- menaruh credential di PAC,
- menganggap semua aplikasi mengikuti PAC sistem,
- tidak mengetes fallback,
- tidak mengecek apakah proxy aktif,
- mengubah PAC production tanpa testing.
Checklist PAC Proxy
| Bagian | Yang Dicek |
|---|---|
| File PAC | Bisa diakses client. |
| FindProxyForURL | Ada dan valid. |
| Rule | Urutan benar. |
| DIRECT | Digunakan sesuai policy. |
| Proxy | Endpoint aktif. |
| Fallback | Diuji saat primary mati. |
| DNS | Tidak melakukan lookup berlebihan. |
| Authentication | Dikelola di mekanisme yang tepat. |
| Browser | Client mendukung PAC. |
| Security | Tidak menyimpan secret. |
FAQ PAC Proxy
Apa itu PAC Proxy?
PAC atau Proxy Auto-Configuration adalah mekanisme berbasis file JavaScript yang menentukan apakah sebuah request menggunakan proxy tertentu atau koneksi langsung.
Apa fungsi FindProxyForURL?
FindProxyForURL(url, host) adalah function utama dalam PAC yang mengevaluasi destination dan mengembalikan keputusan seperti DIRECT, PROXY, atau SOCKS.
Apa arti DIRECT dalam PAC?
DIRECT berarti request dilakukan tanpa menggunakan proxy.
Apa arti PROXY dalam PAC?
PROXY menentukan HTTP proxy yang digunakan, misalnya PROXY proxy.example.com:8080.
Bisakah PAC menggunakan beberapa proxy?
Bisa. PAC dapat menyediakan beberapa pilihan proxy secara berurutan sebagai fallback.
Apakah beberapa proxy dalam PAC berarti proxy chain?
Tidak. Daftar beberapa proxy pada PAC umumnya merupakan alternatif/fallback, bukan koneksi multi-hop.
Bisakah PAC menggunakan SOCKS5?
Bisa pada client yang memang mendukung return value SOCKS/SOCKS5 dalam PAC.
Apakah PAC bisa bypass domain tertentu?
Bisa. PAC dapat mengembalikan DIRECT untuk domain internal, localhost, subnet tertentu, atau destination lain sesuai rule.
Apakah PAC menyimpan username dan password proxy?
Sebaiknya tidak. PAC bukan tempat yang tepat untuk menyimpan credential rahasia.
Kenapa PAC tidak bekerja?
Penyebabnya bisa berupa file PAC tidak dapat diakses, syntax salah, rule salah, DNS bermasalah, endpoint proxy mati, authentication gagal, atau aplikasi tidak mendukung PAC.
