รูปแบบ URL ของ .proxybypass ในเอเจนต์ Azure Pipelines
ใช้ regular expression แบบ ECMAScript ในไดเรกทอรีรากของเอเจนต์ Azure Pipelines ที่โฮสต์เอง และตรวจสอบการเชื่อมต่อพร็อกซีของงานนั้นเอง
เอเจนต์ Azure Pipelines ที่โฮสต์เองสามารถเก็บกฎการข้ามพร็อกซีไว้ในไฟล์ .proxybypass ในไดเรกทอรีรากของมัน แต่ละบรรทัดเป็น regular expression แบบ ECMAScript ที่ถูกนำไปจับคู่กับ URL
ตัวอย่างเช่น กฎสำหรับโฮสต์ฟีดภายในหนึ่งรายการอาจมีลักษณะดังนี้:
^https?://packages[.]internal[.]example(?::[0-9]+)?(?:/|$)
นิพจน์นี้จับคู่ URL แบบ HTTP หรือ HTTPS ของโฮสต์นั้น โดยมีพอร์ตเป็นตัวเลขซึ่งไม่บังคับ ขอบเขตหลังชื่อโฮสต์ช่วยป้องกันการจับคู่กับชื่อที่ยาวกว่า เช่น packages.internal.example.other-domain
นี่คือไฟล์ของการติดตั้งเอเจนต์ ไม่ใช่ไฟล์ที่วางไว้อย่างอำเภอใจในสำเนาโค้ดต้นฉบับ ไวยากรณ์ของมันยังแตกต่างจากค่า NO_PROXY ที่คั่นด้วยจุลภาค การคัดลอกไวลด์การ์ดของเชลล์เช่น *.internal.example ลงในช่อง regular expression ไม่ได้รักษาความหมายเดิมไว้
จากนั้นระบุว่าใครเป็นผู้ดาวน์โหลดแพ็กเกจ
การดำเนินการด้านแหล่งที่มาและอาร์ติแฟกต์ที่มีมาในเอเจนต์ใช้การกำหนดค่าพร็อกซีของมัน งานสามารถดึงข้อมูลพร็อกซีที่เปิดเผยผ่านไลบรารีงานและนำไปใช้กับไคลเอนต์ HTTP ของตนเอง
งานที่เรียกกระบวนการ NuGet, dotnet หรือ curl ภายนอกจะเพิ่มผู้ใช้อีกราย ตรวจสอบว่างานนั้นส่งการตั้งค่าพร็อกซีและการข้ามให้เครื่องมืออย่างไร กฎของเอเจนต์ที่ถูกต้องไม่ได้พิสูจน์ว่าไคลเอนต์แพ็กเกจอิสระทุกรายได้อ่านกฎนั้น
เก็บ URL ของฟีดภายในไว้ในบันทึกการวินิจฉัย รวมถึงสคีมาและพอร์ต ทดสอบกฎกับ URL ที่กำลังติดต่อ จากนั้นตรวจสอบการกำหนดค่าของงานหรือไคลเอนต์ที่รับผิดชอบคำขอนั้น