Provjera .NET pravila NO_PROXY pomoću HttpClient.DefaultProxy.IsBypassed
Navedite i golu domenu i oblik s vodećom tačkom kada HttpClient mora zaobići proxy za oboje, pa pregledajte IsBypassed.
Prema dokumentovanoj politici proxyja iz okruženja u HttpClientu, example.internal i .example.internal se podudaraju različito. Golo ime bira roditeljski host; oblik s vodećom tačkom bira njegove poddomene.
Ako oba treba da idu direktno, uključite oba u okruženje pri pokretanju:
export no_proxy='example.internal,.example.internal'
Spojite ih s predviđenom postojećom listom zaobilaženja. Na sistemima gde imena varijabli razlikuju velika i mala slova, .NET prvo provjerava proxy varijable malim, a zatim velikim slovima, pa zastareli no_proxy može imati prednost pred NO_PROXY.
Unutar aplikacije zadani selektor se može pregledati bez slanja HTTP zahteva ka 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 stvarni proxy rukovaoca. Postavite željeno okruženje prije nego što se zadani proxy inicijalizuje.
Ovo su dokumentovana 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 direktnu mrežnu dostupnost.