System.Net.WebProxy ning BypassList argumenti muntazam ifodalarni saqlaydi. *.office.example kabi namuna yaroqsiz, chunki boshidagi yulduzchaning takrorlaydigan oldingi ifodasi yo'q.

office.example va uning subdomenlariga HTTP va HTTPS so'rovlari uchun PowerShell konfiguratsiyasi quyidagini ishlatishi mumkin:

$bypass = @('^https?://([a-z0-9-]+\.)*office\.example(:[0-9]+)?$')
$proxy = [System.Net.WebProxy]::new(
    'http://proxy.example:8080',
    $false,
    [string[]]$bypass
)

Ekranlangan nuqtalar haqiqiy nuqtalarga mos keladi. Takrorlanuvchi xost nomi yorlig'i guruhi ham asosiy domenni, ham uning ostidagi nomlarni qabul qiladi. Bog'lovchilar office.example.other.test kabi nomni bu qoidadan tashqarida ushlab turadi. Bitta qo'shtirnoqdagi PowerShell satrlari ifoda ishlatadigan teskari chiziqlarni saqlaydi.

Hozirgi .NET amalga oshirilishi bu ifodalarni manzilning sxemasi, xost nomi va standart bo'lmagan porti bilan taqqoslaydi. U so'rov yo'lini yoki so'rov satrini o'z ichiga olmaydi. Shuning uchun ixtiyoriy port guruhi standart bo'lmagan portlarga ham ruxsat beradi; siyosat muayyan xizmatni talab qilsa, uni olib tashlang yoki toraytiring.

Bu misolda BypassProxyOnLocal false, shuning uchun regex siyosatini o'sha qo'shimcha chetlab o'tish sozlamasidan alohida tekshirish mumkin. Hosil bo'lgan proxy obyektini uni ishlatishi kerak bo'lgan HTTP mijozi bilan bog'lang. Chetlab o'tish domenidan tashqaridagi ruxsat etilgan ommaviy URL sinovi uchun HTTP proxy list ro'yxatidagi HTTP yozuvi o'z manzilini bera oladi, proxy hisobi sozlanmagan holda.

Marshrutlash qarorini tekshirish uchun IsBypassed ni vakillik Uri qiymatlari bilan ishlating: asosiy domen, bitta subdomen, aloqasiz tashqi xost va chalg'ituvchi uzunroq qo'shimcha. true natijasi to'g'ridan-to'g'ri kirish tanlanganini bildiradi; u to'g'ridan-to'g'ri manzilga yetib borish mumkinligini isbotlamaydi.

O'xshash maqolalar