Provjera .NET pravila NO_PROXY pomoću HttpClient.DefaultProxy.IsBypassed
Navedite i golu domenu i oblik s vodećom točkom kada HttpClient mora zaobići proxy za oboje, pa pregledajte IsBypassed.
Prema dokumentiranoj politici proxyja iz okruženja u HttpClientu, example.internal i .example.internal podudaraju se različito. Golo ime odabire roditeljskog hosta; oblik s vodećom točkom odabire njegove poddomene.
Ako oba trebaju ići izravno, uključite oba u okruženje pri pokretanju:
export no_proxy='example.internal,.example.internal'
Spojite ih s predviđenim postojećim popisom zaobilaženja. Na sustavima gdje imena varijabli razlikuju velika i mala slova, .NET prvo provjerava proxy varijable malim, a zatim velikim slovima, pa zastarjeli no_proxy može imati prednost pred NO_PROXY.
Unutar aplikacije zadani se selektor može pregledati bez slanja HTTP zahtjeva prema odredištu:
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)}");
}
Isječak koristi System i System.Net.Http. Ako je aplikacija izričito navela drugi IWebProxy, pregledajte umjesto toga stvarni proxy rukovatelja. Postavite željeno okruženje prije nego što se zadani proxy inicijalizira.
Ovo su dokumentirana pravila .NET-a. Rezultat curl-a s istim nizom ne dokazuje da je drugi klijent odabrao istu rutu, a odluka o zaobilaženju i dalje zahtijeva izravnu mrežnu dostupnost.