Pagal dokumentuotą HttpClient aplinkos tarpinio serverio politiką example.internal ir .example.internal atitinka skirtingai. Plikas pavadinimas pasirenka pagrindinį mazgą; forma su pradiniu tašku pasirenka jo subdomenus.

Jei abu turi eiti tiesiogiai, įtraukite abu į paleidimo aplinką:

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

Sujunkite juos su numatytu esamu apėjimo sąrašu. Sistemose, kuriose kintamųjų pavadinimai skiria didžiąsias ir mažąsias raides, .NET pirmiausia tikrina mažosiomis raidėmis parašytus tarpinio serverio aplinkos pavadinimus, o paskui didžiosiomis, todėl pasenęs no_proxy gali turėti pirmenybę prieš NO_PROXY.

Programos viduje numatytąjį parinkiklį galima patikrinti nesiunčiant HTTP užklausos į paskirties vietą:

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

Fragmentas naudoja System ir System.Net.Http. Jei programa aiškiai nurodė kitą IWebProxy, patikrinkite tikrąjį apdoroklio tarpinį serverį. Nustatykite norimą aplinką prieš inicijuojant numatytąjį tarpinį serverį.

Tai dokumentuotos .NET taisyklės. curl rezultatas su ta pačia eilute neįrodo, kad kitas klientas pasirinko tą patį maršrutą, o apėjimo sprendimui vis dar reikia tiesioginio tinklo pasiekiamumo.

Susiję straipsniai