HttpClientin dokumentoidun ympäristön välityspalvelinkäytännön mukaan example.internal ja .example.internal täsmäävät eri tavoin. Paljas nimi valitsee ylätason isäntänimen; alkupisteellinen muoto valitsee sen aliverkkotunnukset.

Jos molempien pitää kulkea suoraan, sisällytä molemmat käynnistysympäristöön:

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

Yhdistä nämä aiottuun olemassa olevaan ohitusluetteloon. Järjestelmissä, joissa muuttujien nimet erottavat isot ja pienet kirjaimet, .NET tarkistaa ensin pienikirjaimiset välityspalvelinympäristön nimet ja vasta sitten isokirjaimiset, joten vanhentunut no_proxy voi mennä NO_PROXYn edelle.

Sovelluksen sisällä oletusvalitsin voidaan tarkastella lähettämättä HTTP-pyyntöä kohteeseen:

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

Katkelma käyttää nimiavaruuksia System ja System.Net.Http. Jos sovellus antoi nimenomaisesti toisen IWebProxy-rajapinnan toteutuksen, tarkastele sen sijaan käsittelijän todellista välityspalvelinta. Aseta aiottu ympäristö ennen kuin oletusvälityspalvelin alustetaan.

Nämä ovat .NETin dokumentoidut säännöt. Samalla merkkijonolla saatu curl-tulos ei osoita, että toinen asiakas valitsi saman reitin, ja ohituspäätös vaatii yhä suoraa verkkoyhteyttä.

Aiheeseen liittyvät artikkelit