Segundo a política de proxy de contorno documentada de HttpClient, example.internal e .example.internal coinciden de xeito distinto. O nome simple selecciona o host pai; a forma con punto inicial selecciona os seus subdominios.

Se ambos deben ir directos, inclúa os dous no contorno de inicio:

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

Combínaos coa lista de omisión existente que pretenda usar. Nos sistemas onde os nomes de variables distinguen maiúsculas e minúsculas, .NET comproba primeiro os nomes de proxy en minúsculas e despois os de maiúsculas, así que un no_proxy antigo pode ter prioridade sobre NO_PROXY.

Dentro da aplicación, o selector predeterminado pódese inspeccionar sen enviar a solicitude HTTP ao destino:

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

O fragmento usa System e System.Net.Http. Se a aplicación forneceu explicitamente outro IWebProxy, inspeccione no seu lugar o proxy real do controlador. Estableza o contorno desexado antes de que se inicialice o proxy predeterminado.

Estas son as regras documentadas de .NET. Un resultado de curl coa mesma cadea non demostra que outro cliente escollese a mesma ruta, e unha decisión de omisión segue a requirir conectividade de rede directa.

Artigos relacionados