Ang PAC script ay tumatanggap ng hostname mula sa URL. Ang dashboard ay hindi kusang nagiging dashboard.example.internal bago ang pagtutugma:

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

Gumamit ng tunay na HTTP endpoint kapalit ng address sa dokumentasyon; ang listahan ng HTTP proxy ay nagbibigay ng mga kandidato para sa pampublikong destinasyong pagsubok kung pinapayagan ang rutang iyon. Sa script na ito, sadyang ibinabalik ng maikling pangalan ang DIRECT; ang buong pangalan ay umaabot sa sangay ng proxy. Ang “plain hostname” ay nangangahulugang walang tuldok na baybay, hindi isang paghahanap na ang host ay nasa pinagkakatiwalaang lokal na network.

Kung ang gustong patakaran ay isang panloob na domain, itugma ang domain na iyon sa halip na bawat maikling pangalan. Ang dnsDomainIs at shExpMatch ay may magkaibang input at semantika ng pattern. Ang pagsusuri ng suffix para sa .example.internal ay hindi kasama ang eksaktong root example.internal; isama ang kasong iyon nang tahasan kapag nilayon. Ang pattern na tulad ng shell ay hindi IP subnet o regular expression.

Ihambing ang resulta ng script para sa maikling pangalan, buong pangalan, walang kaugnayang pampublikong host at anumang nilalayong root ng domain. Sinusubok nito ang pagpili ng rule nang hindi kumokonekta sa proxy. Tingnan ang unang rule na nagbabalik kapag ang malawak na DIRECT branch ay pumipigil sa pagsubok sa isang endpoint na maaaring maabot.

Gumamit ng paghahambing ng pangalan kapag naipapahayag nito ang patakaran; ang mga DNS helper ay nagdaragdag ng sariling lookup at pagkaantala. Panatilihing hiwalay din sa script ang implicit local bypass ng browser. Ang pagsusuri ng localhost ay hindi kapalit ng tunay na baybay ng pampubliko o panloob na destinasyon.

Kaugnay na mga artikulo