.NET NO_PROXY における親ドメインとサブドメイン
.NET の環境プロキシ ポリシーでサブドメインもバイパスする必要がある場合は、親ドメインを意図的に含めてください。
.NET の文書化された環境プロキシ ルールでは、.example.com はサブドメインに一致します。example.com 自体には一致しません。この小さな違いが、1 つのサービスを 2 つの経路に分けることがあります。
| エントリ | 想定される .NET の一致 |
|---|---|
example.com | 親ホスト名 |
.example.com | そのドメイン配下のホスト名 |
example.com,.example.com | 両方のグループ |
ランディング ページが親名を使い、その API が api.example.com を使うとします。ドット付きの形式だけを含むリストでは、API が直接接続する一方でランディング ページがプロキシ経由になることがあります。逆の誤りは、親ドメインだけを列挙してすべての子が一致すると期待することです。HttpClient.DefaultProxy.IsBypassed を確認する の呼び出しを親ドメインと 1 つの子について行い、構成された判断を確かめてください。
これは、参加している .NET HTTP クライアントが使う環境ポリシーに当てはまります。明示的に割り当てられた IWebProxy、別のハンドラー実装、または別のランタイム世代は、それぞれ独自のルールを確認する必要があります。ブラウザーのバイパス リストがこの環境リストになったと決めつけないでください。
また、習慣で設定を *.example.com に置き換えるのは避けてください。文書化された .NET の環境構文は、アスタリスクを一般的なワイルドカードとして扱いません。
動作する curl コマンドとアプリケーションを比較するときは、レポートにリテラルの URL を残してください。「同じサーバー」では、親ドメイン、サブドメイン、IP アドレスのどれを要求したのかが隠れます。ドメインの一致はその要求入力に対して行われ、サービスに対する普段の呼び名に対して行われるのではありません。