System.Net.WebProxy-ийн BypassList аргумент тогтмол илэрхийлэл агуулдаг. *.office.example шиг загвар хүчингүй, учир нь эхний од давтах өмнөх илэрхийлэлгүй байна.

office.example болон түүний дэд домэйн руу чиглэсэн HTTP ба HTTPS хүсэлтэд PowerShell тохиргоо дараахыг ашиглаж болно:

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

Экранлагдсан цэгүүд шууд утгаараа цэгтэй таарна. Давтагдсан хост нэрийн шошгын бүлэг үндсэн домэйн болон түүний доорх нэрийг хоёуланг нь зөвшөөрнө. Зангуунууд office.example.other.test шиг нэрийг энэ дүрмээс гадна барина. Ганц хашилттай PowerShell мөрүүд илэрхийллийн ашигладаг налуу зураасыг хадгална.

Одоогийн .NET хэрэгжүүлэлт эдгээр илэрхийллийг очих газрын схем, хост нэр, стандарт бус порттой харьцуулна. Хүсэлтийн зам эсвэл хүсэлтийн мөрийг оруулахгүй. Тиймээс заавал бус портын бүлэг стандарт бус портыг ч зөвшөөрнө; бодлого тодорхой үйлчилгээ шаардвал түүнийг хасна уу эсвэл нарийсгана уу.

Энэ жишээнд BypassProxyOnLocal нь false байна, ингэснээр regex бодлогыг тэр нэмэлт тойрч гарах тохиргооноос тусад нь шалгах боломжтой. Үүссэн прокси объектыг түүнийг ашиглах ёстой HTTP клиентэд холбоно уу. Тойрч гарах домэйноос гадуур зөвшөөрөгдсөн нийтийн URL туршилтад HTTP proxy list-ийн HTTP бичлэг өөрийн хаягийг өгч болно, прокси бүртгэл тохируулалгүйгээр.

Маршрутын шийдвэрийг шалгахын тулд IsBypassed-ийг төлөөлөх Uri утгуудтай ашиглана уу: үндсэн домэйн, нэг дэд домэйн, хамааралгүй гадаад хост, төөрөгдүүлсэн урт дагавар. true үр дүн нь шууд хандалт сонгогдсоныг илэрхийлнэ; шууд очих газарт хүрч болохыг нотлохгүй.

Холбоотой нийтлэлүүд