Prema dokumentovanoj politici proxyja iz okruženja u HttpClientu, example.internal i .example.internal različito se poklapaju. 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 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 selektor se 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 stvarni proxy rukovaoca. Postavite željeno okruženje prije nego što se zadani proxy inicijalizira.

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.

Povezani članci