Peraturan PAC untuk Nama Pendek Boleh Memintas Proksi Anda
Fahami mengapa nama hos tanpa titik dan bentuk layak penuhnya boleh memilih laluan berbeza dalam skrip PAC yang sama.
Skrip PAC menerima nama hos daripada URL. dashboard tidak menjadi dashboard.example.internal secara automatik sebelum pemadanan:
function FindProxyForURL(url, host) {
if (isPlainHostName(host)) {
return "DIRECT";
}
return "PROXY 203.0.113.10:8080";
}
Gunakan titik akhir HTTP sebenar sebagai ganti alamat dokumentasi; senarai proksi HTTP menyediakan calon untuk ujian destinasi awam di tempat laluan itu dibenarkan. Dalam skrip ini, nama pendek sengaja mengembalikan DIRECT; nama layak penuh mencapai cabang proksi. “Nama hos biasa” bermaksud ejaan tanpa titik, bukan penemuan bahawa hos berada pada rangkaian tempatan yang dipercayai.
Jika dasar yang diingini ialah satu domain dalaman, padankan domain itu dan bukan setiap nama pendek. dnsDomainIs dan shExpMatch mempunyai input dan semantik corak yang berbeza. Semakan akhiran untuk .example.internal tidak merangkumi akar tepat example.internal; sertakan kes itu secara eksplisit apabila dimaksudkan. Corak gaya shell bukan subnet IP atau ungkapan nalar.
Bandingkan hasil skrip untuk nama pendek, nama layak penuh, hos awam yang tidak berkaitan dan mana-mana akar domain yang dimaksudkan. Ini menguji pemilihan peraturan tanpa menyambung ke proksi. Periksa peraturan yang mula-mula memulangkan hasil apabila cabang DIRECT yang luas menghalang titik akhir yang sepatutnya boleh dicapai daripada dicuba.
Gunakan perbandingan nama apabila ia menyatakan dasar; pembantu DNS menambah carian dan kelewatan sendiri. Kekalkan pintasan tempatan tersirat pelayar berasingan daripada skrip juga. Semakan localhost tidak boleh menggantikan ejaan destinasi awam atau dalaman yang sebenar.