回答:
PAC(プロキシ自動構成スクリプト)でこれを設定できます。これらは、さまざまな接続ルールを指定できるJavascriptで書かれた小さなスクリプトです。最近のほとんどのデスクトップWebブラウザは問題なくそれらを読むことができます。InternetExplorerとFirefoxの両方で同じものをセットアップしています。
ポート81 で常にプロキシサーバーproxy.companynameに送信される最小限のPACファイル:
function FindProxyForURL(url, host)
{
return "PROXY proxy.companyname:8080";
}
また、選択したIPアドレス範囲を確認することで、どのネットワークに接続しているのかを確認するPACファイルのもう少し複雑な例です。この例では、社内のすべてのクライアントPCにDHCPによって10.10。*の範囲のIPアドレスが与えられ、ポート81のプロキシサーバーproxy.companynameを介してインターネットにアクセスします。
//Turn debug mode on by setting debug variable to any non-empty string
//Note that "" is an empty string, and that "0", "1" & "test" are not empty strings.
function FindProxyForURL(url, host)
{
var ip = myIpAddress();
var debug = "";
if(debug)
{
alert("proxy.pac IP=" + ip + " HOST=" + host + " URL=" + url);
}
// All client PCs on the internal network will have a 10.10.x.x address, check if I have this
if (shExpMatch(ip, "10.10.*"))
{
if(debug)
{
alert("Proxy for " + url);
}
return "PROXY proxy.companyname:81";
}
// If you have a different IP then this isn't the company network
else
{
if(debug)
{
alert("You are not at CompanyName so going direct for " + url);
}
return "DIRECT";
}
}
また、スクリプトにはデバッグモードがあり、これを使用して、動作していること、および現在の接続がどのモード(PROXYまたはDIRECT接続)であるとテストするかをテストできます。
また、接続先のサーバーが社内ネットワーク上にあるかどうかを確認するより複雑なスクリプトを作成することもできます(したがって、PCが現在会社ネットワーク上にある場合でも、直接接続が必要です)。 d通常IEのプロキシ例外ボックスに配置するものを、次のように展開して配置します。
//Turn debug mode on by setting debug variable to any non-empty string
//Note that "" is an empty string, and that "0", "1" & "test" are not empty strings.
function FindProxyForURL(url, host)
{
var ip = myIpAddress();
var debug = "";
if(debug)
{
alert("proxy.pac IP=" + ip + " HOST=" + host + " URL=" + url);
}
// Detect if trying to connect to internal/intranet host
if(isPlainHostName(host) || dnsDomainIs(host, "intranet.companyname"))
{
if(debug)
{
alert("Direct for " + url);
}
return "DIRECT";
}
// Detect if trying to connect to URLs on the internal network via internal DNS suffix or IP address
if(shExpMatch(url, "*.companyname") || shExpMatch(host, "10.100.*"))
{
if(debug)
{
alert("Direct for " + url);
}
return "DIRECT";
}
// All client PCs on the internal network will have a 10.10.x.x address, check if I have this
if (shExpMatch(ip, "10.10.*"))
{
if(debug)
{
alert("Proxy for " + url);
}
return "PROXY proxy.companyname:8080";
}
// If you have a different IP then this isn't the company network
else
{
if(debug)
{
alert("You are not at CompanyName so going direct for " + url);
}
return "DIRECT";
}
}
このファイルをPCのCドライブのどこかにproxy.pacなどとして保存して使用し、Internet Explorerの場合は、[ツール]-> [オプション](または[コントロールパネル]-> [インターネットオプション])に移動し、[接続]タブをクリックして、[LAN設定]ボタンをクリックします。下部の[プロキシサーバーを使用する]ボックスのチェックを外し、代わりに[自動構成スクリプトを使用する]にチェックを入れ、file:// URLなどを使用してPACファイルのアドレスを入力しますfile://C:/proxy.pac
。
あるいは、Firefoxの場合は、[ツール]-> [オプション]に移動し、[詳細設定]タブ、[ネットワーク]タブ、[設定]ボタン、[自動プロキシ構成URL]設定をクリックします。コロンの後の3つのスラッシュfile:///C:/proxy.pac
です。
Internet Explorer 11はこの動作を変更しており、「file://」URLからPACファイルをロードできないため、「HTTP://」または「HTTPS://」URLを使用する必要があることに注意してください。
Internet Explorer 11では、WinINETチームはfile://ベースのスクリプトに対するWinINETのサポートを無効にして、ネットワークスタック間の相互運用性を促進しました。企業は、代わりにHTTPまたはHTTPSサーバーでプロキシ構成スクリプトをホストすることをお勧めします。
現時点ではこの機能を再度有効にできる回避策がありますが、今後のアップデートでも無効になる可能性があるため、使用することはお勧めしません。
一時的な回避策として、次のレジストリキーを設定することにより、このブロックを削除できます。
キー:HKLM \ SOFTWARE \ Policies \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \ 値:EnableLegacyAutoProxyFeatures タイプ:REG_DWORD データ:1このブロックは正当な理由で導入されたものであり、ブロックを削除してもWinHTTPベースのアプリケーションが魔法のように修正されることはないため、これは一時的な措置にすぎないことに注意してください。
また、この変更IE11を行った後、IE 11はこのための1つの構文しか受け入れないため、自動構成スクリプトのアドレス設定を変更する必要があることに注意してください(以下のIE Internalsブログのリンク記事の下部を参照)。
ただし、前述のように、このレジストリキーの回避策がInternet Explorerの将来のバージョンで引き続き機能する可能性は低いため、WebサーバーでPACを保持する方法を見つけることをお勧めします。WindowsのビルトインIIS Webサーバーで十分ですが、ラップトップへのインストールでも機能する最小限のものがあります。
IE Internalsブログエントリの理解Webプロキシ構成についての詳細。
説明:
モバイルユーザーが別のネットワークに移動するたびに、特定のIPアドレス、ゲートウェイアドレス、サブネットマスク、プロキシサーバー、デフォルトプリンターなどを特定のネットワーク環境に変更する必要があります。そのためには、すべてのネットワークのTCP / IP設定情報を覚えておく必要があります。また、コンピューターを再起動してシステムに適用し、インターネットにアクセスする必要があります。
場所を変更するたびにコンピューターのネットワーク設定を再構成する時間を無駄にしないでください。無料のIPスイッチャーはあなたにぴったりのソリューションです。ワンクリックで再起動することなく、事前設定されたネットワーク設定を切り替えます。Free IP Switcherを使用すると、IPアドレス、ネットワークマスク、デフォルトゲートウェイ、DNSサーバー、WINSサーバー、プロキシ設定、デフォルトプリンターなど、PC上のすべてのネットワーク設定を自動的に変更できます。
特徴:
Mobile Net SwitchやNetSetManなど、ネットワーク構成の切り替えに代わる他の(有料)選択肢があります。