Skrip PAC menerima nama host dari URL. dashboard tidak otomatis menjadi dashboard.example.internal sebelum pencocokan:

function FindProxyForURL(url, host) {
  if (isPlainHostName(host)) {
    return "DIRECT";
  }
  return "PROXY 203.0.113.10:8080";
}

Gunakan titik akhir HTTP nyata sebagai pengganti alamat dokumentasi; daftar proxy HTTP menyediakan kandidat untuk pengujian ke tujuan publik di mana rute itu diizinkan. Dalam skrip ini, nama pendek sengaja mengembalikan DIRECT; nama yang sepenuhnya memenuhi syarat mencapai cabang proxy. “Plain hostname” berarti penulisan tanpa titik, bukan temuan bahwa host berada di jaringan lokal tepercaya.

Jika kebijakan yang diinginkan adalah satu domain internal, cocokkan domain itu, bukan setiap nama pendek. dnsDomainIs dan shExpMatch memiliki masukan dan semantik pola yang berbeda. Pemeriksaan sufiks untuk .example.internal tidak menyertakan akar persis example.internal; sertakan kasus itu secara eksplisit bila memang dimaksudkan. Pola gaya shell bukan subnet IP atau ekspresi reguler.

Bandingkan hasil skrip untuk nama pendek, nama yang sepenuhnya memenuhi syarat, host publik yang tidak terkait, dan akar domain apa pun yang dimaksudkan. Ini menguji pemilihan aturan tanpa terhubung ke proxy. Periksa aturan pertama yang mengembalikan ketika cabang DIRECT yang luas mencegah titik akhir yang sebenarnya dapat dijangkau untuk dicoba.

Gunakan perbandingan nama bila itu mengungkapkan kebijakan; pembantu DNS menambahkan pencarian dan penundaannya sendiri. Jaga juga bypass lokal implisit peramban tetap terpisah dari skrip. Pemeriksaan localhost tidak dapat menggantikan penulisan tujuan publik atau internal yang sebenarnya.

Artikel terkait