Ըստ HttpClient-ի փաստաթղթավորված միջավայրային վստահված սերվերի քաղաքականության՝ example.internal-ը և .example.internal-ը տարբեր կերպ են համընկնում։ Մերկ անունը ընտրում է մայր հոսթը, իսկ սկզբի կետով ձևը՝ նրա ենթադոմենները։

Եթե երկուսն էլ պետք է ուղիղ անցնեն, ներառե՛ք երկուսն էլ մեկնարկային միջավայրում․

export no_proxy='example.internal,.example.internal'

Միավորե՛ք դրանք նախատեսված գոյություն ունեցող շրջանցման ցանկի հետ։ Այն համակարգերում, որտեղ փոփոխականների անունները տարբերում են մեծ ու փոքր տառերը, .NET-ը նախ ստուգում է փոքրատառ վստահված սերվերի միջավայրի անունները, ապա՝ մեծատառերը, ուստի հին no_proxy-ն կարող է առաջնություն ստանալ NO_PROXY-ի նկատմամբ։

Հավելվածի ներսում լռելյայն ընտրիչը կարելի է ստուգել առանց նպատակակետին HTTP հարցում ուղարկելու․

foreach (var host in new[] {
    "example.internal", "api.example.internal", "other.internal"
})
{
    var uri = new Uri("https://" + host + "/");
    Console.WriteLine($"{host}: bypass={HttpClient.DefaultProxy.IsBypassed(uri)}");
}

Հատվածն օգտագործում է System և System.Net.Http։ Եթե հավելվածը բացահայտ տրամադրել է այլ IWebProxy, ապա փոխարենը ստուգե՛ք մշակիչի իրական վստահված սերվերը։ Սահմանե՛ք ցանկալի միջավայրը նախքան լռելյայն վստահված սերվերի սկզբնավորումը։

Սրանք .NET-ի փաստաթղթավորված կանոններն են։ Նույն տողով curl-ի արդյունքը չի ապացուցում, որ մեկ այլ հաճախորդ ընտրել է նույն ուղին, և շրջանցման որոշումը դեռ պահանջում է ուղիղ ցանցային հասանելիություն։

Առնչվող հոդվածներ