Според документираната политика за прокси од околината на 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 со истиот низа не докажува дека друг клиент ја избрал истата рута, а одлуката за заобиколување сè уште бара директна мрежна достапност.

Поврзани статии