Ifølgje den dokumenterte miljøproxy-policyen til HttpClient passar example.internal og .example.internal ulikt. Det nakne namnet vel vertsverten; forma med leiande punkt vel underdomena.

Skal begge gå direkte, ta begge med i oppstartsmiljøet:

export no_proxy='example.internal,.example.internal'

Flett desse inn i den tiltenkte eksisterande unntakslista. På system der variabelnamn skil mellom store og små bokstavar, sjekkar .NET først proxyvariablar med små bokstavar og deretter dei med store, så ein utdatert no_proxy kan få forrang framom NO_PROXY.

Inne i programmet kan standardveljaren undersøkjast utan å senda HTTP-førespurnaden til målet:

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)}");
}

Utdraget brukar System og System.Net.Http. Viss programmet uttrykkeleg har oppgitt ein annan IWebProxy, undersøk den faktiske handler-proxyen i staden. Set det tiltenkte miljøet før standardproxyen blir initialisert.

Dette er dei dokumenterte reglane til .NET. Eit curl-resultat med same streng beviser ikkje at ein annan klient valde same rute, og ei unntaksavgjerd krev framleis direkte nettilgang.

Relaterte artiklar