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 саясатын ошол кошумча четтөө жөндөөсүнөн өзүнчө текшерүүгө болот. Пайда болгон proxy объектисин аны колдонушу керек болгон HTTP кардарына тиркеңиз. Четтөө доменинин сыртындагы уруксат берилген коомдук URL сынагы үчүн HTTP proxy list тизмесиндеги HTTP жазуусу өз дарегин бере алат, proxy эсеби конфигурацияланбастан.

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

Тектеш макалалар