กฎ PAC สำหรับชื่อสั้นอาจข้ามพร็อกซีของคุณ
ทำความเข้าใจว่าทำไมชื่อโฮสต์ที่ไม่มีจุดและรูปแบบชื่อเต็มจึงเลือกเส้นทางต่างกันได้ในสคริปต์ PAC เดียวกัน
สคริปต์ PAC ได้รับชื่อโฮสต์จาก URL dashboard จะไม่กลายเป็น dashboard.example.internal โดยอัตโนมัติก่อนการจับคู่:
function FindProxyForURL(url, host) {
if (isPlainHostName(host)) {
return "DIRECT";
}
return "PROXY 203.0.113.10:8080";
}
ใช้ปลายทาง HTTP จริงแทนที่อยู่ตัวอย่าง รายการพร็อกซี HTTP มีตัวเลือกสำหรับการทดสอบปลายทางสาธารณะที่อนุญาตเส้นทางนั้น ในสคริปต์นี้ ชื่อสั้นตั้งใจคืนค่า DIRECT ส่วนชื่อเต็มจะเข้าสู่สาขาพร็อกซี “ชื่อโฮสต์ล้วน” หมายถึงรูปแบบที่ไม่มีจุด ไม่ใช่การระบุว่าโฮสต์อยู่ในเครือข่ายท้องถิ่นที่เชื่อถือได้
หากนโยบายที่ต้องการคือโดเมนภายในหนึ่งโดเมน ให้จับคู่โดเมนนั้นแทนที่จะจับคู่ชื่อสั้นทั้งหมด dnsDomainIs และ shExpMatch มีอินพุตและความหมายของรูปแบบที่ต่างกัน การตรวจสอบส่วนต่อท้ายสำหรับ .example.internal ไม่รวมรากที่ตรงตัว example.internal ให้ระบุกรณีนั้นอย่างชัดเจนเมื่อต้องการ รูปแบบสไตล์เชลล์ไม่ใช่ซับเน็ต IP หรือนิพจน์ทั่วไป
เปรียบเทียบผลของสคริปต์สำหรับชื่อสั้น ชื่อเต็ม โฮสต์สาธารณะที่ไม่เกี่ยวข้อง และรากโดเมนที่ต้องการใด ๆ การทำเช่นนี้ทดสอบการเลือกกฎโดยไม่ต้องเชื่อมต่อพร็อกซี ตรวจดูกฎแรกที่คืนค่า เมื่อสาขา DIRECT ที่กว้างขวางทำให้ปลายทางที่เข้าถึงได้ถูกข้ามไป
ใช้การเปรียบเทียบชื่อเมื่อมันสื่อถึงนโยบายได้ ตัวช่วย DNS เพิ่มการค้นหาและความหน่วงของตัวเอง แยกการข้ามโดยนัยของเบราว์เซอร์ออกจากสคริปต์ด้วย การตรวจสอบ localhost ใช้แทนรูปแบบปลายทางสาธารณะหรือภายในจริงไม่ได้