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 әдісін өкілді Uri мәндерімен қолданыңыз: негізгі домен, бір ішкі домен, байланыссыз сыртқы хост және адастыратын ұзағырақ жұрнақ. true нәтижесі тікелей қатынас таңдалғанын білдіреді; ол тікелей межелі жердің қолжетімді екенін дәлелдемейді.

Қатысты мақалалар