Conform politicii de proxy de mediu documentate a HttpClient, example.internal și .example.internal se potrivesc diferit. Numele simplu selectează gazda părinte; forma cu punct inițial selectează subdomeniile acesteia.

Dacă ambele trebuie să meargă direct, includeți-le pe amândouă în mediul de pornire:

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

Îmbinați-le cu lista de excepții existentă pe care o aveți în vedere. Pe sistemele unde numele variabilelor disting majusculele de minuscule, .NET verifică mai întâi variabilele de proxy scrise cu minuscule, apoi pe cele cu majuscule, așa că un no_proxy învechit poate avea prioritate față de NO_PROXY.

În interiorul aplicației, selectorul implicit poate fi inspectat fără a trimite cererea HTTP către destinație:

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

Fragmentul folosește System și System.Net.Http. Dacă aplicația a furnizat explicit alt IWebProxy, inspectați în schimb proxy-ul real al handlerului. Stabiliți mediul dorit înainte ca proxy-ul implicit să fie inițializat.

Acestea sunt regulile documentate ale .NET. Un rezultat curl cu același șir nu dovedește că un alt client a ales aceeași rută, iar o decizie de ocolire necesită în continuare accesibilitate directă la rețea.

Articole similare