WinHTTP のバイパス リストには特殊なトークン <local> を含められます。この文脈で local は、ピリオドのないサーバー名を意味します。すべてのプライベート IP アドレスや Wi-Fi 上のすべてのデバイスを分類するものではありません。

そのため、短いホスト名とピリオド付きのホスト名は異なる入力になります。http://intranet/ を要求するアプリケーションはトークンに一致できますが、http://intranet.example.internal/ には該当する明示的なルールが必要です。

設定済みの例外を確認する

想定する WinHTTP 構成では、静的な例は次のとおりです:

netsh winhttp set proxy `
  proxy-server="203.0.113.10:8080" `
  bypass-list="<local>;*.example.internal"

このエンドポイントは例示用です。このコマンドは WinHTTP 構成を変更するものであり、汎用的なブラウザー修復として使うべきではありません。変更前に以前の構成を記録し、対象アプリが実際にそれを使っていることを確認してください。

ワイルドカード ルールと local トークンは別の役割を果たします。192.168.1.10 のようなピリオド付き IP リテラルは、ピリオドのないホスト名ではありません。そのようなアドレスを直接使うべきなら、local という語がそれをカバーすると仮定せず、適切にサポートされた明示的な例外を使ってください。

リクエストの実際のホストを確認する

サービスが短い名前を使い、ブラウザーのブックマークが完全修飾名を使うことがあります。最終的に同じサーバーを指す場合でも、結果の経路は異なることがあります。

リクエストは、確認した静的な既定値ではなく、アプリ固有のプロキシ情報や PAC 評価によって制御されることもあります。別の場所のバイパス リストを変更する前に、失敗しているアプリが使うソースを特定してください。

動作を比較するには、同じクライアントについて URL のホスト名と選択されたプロキシ ポリシーを記録してください。意図的に除外したホストが直接のままであるという理由だけで、動作しているパブリック プロキシを置き換えないでください。

この区別は DNS やカーネル ルーティングとは切り離してください。バイパス ルールはリクエストにプロキシを使うかどうかを選ぶものです。それ以外では到達できない宛先を到達可能にするものではありません。

関連記事