Menurut dasar proksi persekitaran HttpClient yang didokumenkan, example.internal dan .example.internal sepadan secara berbeza. Nama kosong memilih hos induk; bentuk titik pendahulu memilih subdomainnya.

Jika kedua-duanya perlu terus, sertakan kedua-duanya dalam persekitaran permulaan:

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

Gabungkan ini dengan senarai pintasan sedia ada yang dimaksudkan. Pada sistem yang membezakan huruf besar dan kecil dalam nama pemboleh ubah, .NET menyemak nama persekitaran proksi huruf kecil dahulu, kemudian huruf besar, jadi no_proxy lama boleh mengatasi NO_PROXY.

Dalam aplikasi, pemilih lalai boleh diperiksa tanpa menghantar permintaan HTTP ke destinasi:

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

Serpihan ini menggunakan System dan System.Net.Http. Jika aplikasi memberikan IWebProxy lain secara jelas, periksa proksi pengendali sebenar sebaliknya. Tetapkan persekitaran yang dimaksudkan sebelum proksi lalai dimulakan.

Ini peraturan .NET yang didokumenkan. Hasil curl dengan rentetan yang sama tidak membuktikan klien lain memilih laluan yang sama, dan keputusan pintasan masih memerlukan ketercapaian rangkaian langsung.

Artikel berkaitan