web-dev-qa-db-ja.com

Macでのみ特定のホストにプロキシを追加する

Mac OS Xの特定のホスト(www.Apple.comなど)にのみプロキシ設定を適用したいのですが、どうすればよいですか?

システム環境設定では、特定のホストのbypassingプロキシ設定のオプションのみがあります。

10
tusharmath

次のproxy.pacファイルを使用すると、プロキシ1.2.3.4を介してすべてのトラフィックをApple.comに送信でき、他のすべてのホストに直接アクセスできます。

function FindProxyForURL(url, Host) {
    PROXY = "PROXY 1.2.3.4"

    // Apple.com via proxy
    if (shExpMatch(Host,"*.Apple.com")) {
        return PROXY;
    }
    // Everything else directly!
    return "DIRECT";
}
  1. このスクリプトをWebサーバーにproxy.pac(またはその他の名前)として保存します。これはローカルWebサーバーにすることができます( http://localhost/proxy.pac )。これは OSX Lionで必須 です。
  2. System Preferencesにアクセスします。
  3. Networkを選択します。
  4. 変更するネットワーク(「WiFi」など)を選択します。
  5. Advanced...ボタンをクリックします。
  6. Proxiesタブをクリックします
  7. [x] Automatic Proxy-Configurationを確認してください。
  8. URL:フィールドに、手順1で作成したファイルのURLを入力します(例:http://localhost/proxy.pac)。 (注:ローカルパスは最新のOSXでは機能しません)
  9. SaveApplyをクリックします

出来上がり!独自のプロキシ構成

proxy.pacファイルの形式の詳細については、開始点として http://en.wikipedia.org/wiki/Proxy_Auto-Config を参照してください。

17
heiglandreas

実際には、file:///path/to/file Webサーバーに依存する代わりに、URLのスキーム。

例えば:

file:///Users/youruser/var/proxy/proxy.pac
8
jnbek

@heiglandreasの答えに追加...

@jnbekのソリューションは私にとってMacOSXでは機能せず、私は簡単なソリューションを探していました。

そこで、新しいフォルダを作成し、その中にpacファイルをコピーしました。次に、そのフォルダー自体からOSXのポート80でシンプルなWebサーバーを起動しました。

フォルダに移動して、このコマンドを実行するだけです。すでに占有されている場合は、ポートを80から別のポートに変更してください。

python -m SimpleHTTPServer 80

これで、proxy.pacファイルをhttp://localhost/proxy.pacから簡単に取得できました。または、別のポートを使用する場合:http://localhost:PORT/proxy.pac

1
Rehmat