Провера .NET правила NO_PROXY помоћу HttpClient.DefaultProxy.IsBypassed
Наведите и голи домен и облик са водeћом тачком када HttpClient мора да заобиђе прокси за оба, па прегледајте IsBypassed.
Према документованој политици проксија из окружења у 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-а са истим низом не доказује да је други клијент изабрао исту руту, а одлука о заобилажењу и даље захтева директну мрежну доступност.