localhost:1234 で HTTP プロキシを実行しています。プロキシは、私が行うすべての Web リクエストに対して正常に動作します。
localhost:4567 でサーバーを実行しています。サーバーへの HTTP リクエストがプロキシを通過するようにします。シンプルなはずですよね?IE や他のブラウザでこれを行う方法はありますか?
通常、これについてはブラウザの設定を構成できます。Firefox では、[オプション] -> [詳細設定] -> [ネットワーク] -> [接続 (設定)] です。
IE は、localhost URL を検出すると、プロキシを自動的に無視します。これは、Fiddler のようなツールにとって常に厄介な問題でした。
ただし、文字通りhttp://somesite.com:1234にアクセスすることで、これを回避できることがよくあります 。誰かが時間をかけて「somesite.com」ドメインを登録し、自動的に 127.0.0.1 にルーティングしました。これにより、IE は外部ドメインであると認識されますが、ローカル サーバーへのリダイレクト中にプロキシを介して実行されます。
幸運を。
はい、方法があります!
IE9では、インターネットオプションでプロキシを手動で構成している場合は、[詳細設定]をクリックし<-loopback>
て、プロキシバイパスリストに追加するだけです。IE6では、プロキシが手動で構成されている場合、ローカルホストURLはプロキシを通過します。プロキシサーバーにローカルホスト要求を送信しないのはバージョンIE7+のみです。
よりグローバルなソリューションが必要な場合は、自動プロキシ構成スクリプトを作成できます。これは基本的に、関数FindProxyForURLを含むjavascriptファイルです。そのスクリプトのURLを使用してインターネットオプションを構成できます。すべてのHTTPリクエストは、FindProxyForURLに必要なプロキシサーバーを照会します。したがって、すべてのURLがプロキシを通過するようにする場合は、次のようにします。
function FindProxyForURL(url, host) {
return "PROXY localhost:1234";
}
外部アドレスのみをローカルホストプロキシに送信する場合は、次のようにします。
function FindProxyForURL(url, host) {
if (isPlainHostName(host)) {
return "DIRECT";
}
return "PROXY localhost:1234";
}
ブラウザーは、一部のアドレスのプロキシをバイパスします。ブラウザのネットワーク設定の「プロキシなし」サブセクションに記載されています。(ファイアフォックス)
IPの代わりに「localhost」を使用すると、デフォルトのIP 127.0.0.1に解決され、「localhost」と「127.0.0.1」の両方が「プロキシなし」として明示的にリストされます。
しかし、「localhost」はかなり大きなサブセットです。127.0.0.2:4567 または 127.0.1.1:4567 を使用できます。1,600 万を超える IP アドレスを自由に使用できると言われています。これで問題は解決します (少なくとも FF の場合)。
ブラウザによって異なります。Firefox で、「プロキシなし」が空であることを確認します。デフォルトでは、Firefox は localhost および 127.0.0.1 への URL のプロキシをブロックします。