Према документованој политици проксија из окружења у HttpClient-у, example.internal и .example.internal поклапају се различито. Голо име бира родитељски хост; облик са водeћом тачком бира његове поддомене.

Ако оба треба да иду директно, укључите оба у окружење при покретању:

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

Повезани чланци