Segons la política de proxy d'entorn documentada d'HttpClient, example.internal i .example.internal coincideixen de maneres diferents. El nom nu selecciona l'amfitrió pare; la forma amb punt inicial selecciona els seus subdominis.

Si tots dos han de ser directes, inclou-los tots dos a l'entorn d'inici:

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

Combina'ls amb la llista d'exempcions existent que tinguis prevista. En sistemes on els noms de variables distingeixen majúscules i minúscules, .NET comprova abans els noms de proxy en minúscules que els de majúscules, així que un no_proxy antic pot prevaler sobre NO_PROXY.

Dins de l'aplicació, el selector per defecte es pot inspeccionar sense enviar la sol·licitud HTTP de destinació:

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

El fragment utilitza System i System.Net.Http. Si l'aplicació ha proporcionat explícitament un altre IWebProxy, inspecciona el proxy real del gestor. Defineix l'entorn desitjat abans que s'inicialitzi el proxy per defecte.

Aquestes són les regles documentades de .NET. Un resultat de curl amb la mateixa cadena no demostra que un altre client hagi triat la mateixa ruta, i una decisió d'exempció encara requereix connectivitat de xarxa directa.

Articles relacionats