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


10

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

システム環境設定には、特定のホストのプロキシ設定をバイパスするオプションのみがあります。

回答:


17

次の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. このスクリプトをproxy.pacWebサーバーに(または任意の名前で)保存します。これはローカル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を参照してください


8

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

例えば:

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

1
興味深いことに、これはすべてLinux / BSDで、場合によってはWindowsでも機能します。自動プロキシ構成が使用されている場所であれば、これはおそらく機能します。
jnbek 2016年

これは、使用中のスタックが複雑になりすぎないようにするため、および前のコメントで言及されているように、おそらく受け入れられる答えになるはずです。これははるかに普遍的な解決策です。
user239546

file:///...pacを使用する場合、一部のアプリケーションでは問題が発生する可能性があります(例えば、TeamsなどのMicrosoftアプリ、support.microsoft.com / en-us / help / 4042151 /…を参照)。最善の方法は、ローカルホストまたはインターネット上の任意の公開サーバーに置くことです。
18

1
これはOSXでは機能しません。
jpgeek

@jpgeekは10.15で動作します。不明な場合は'PROXY ...'、ドメインを確認せずに戻って確認してください。proxy.pacあなたは無線LANを切り替えると再読されます。
seeker_of_bacon

2

@heiglandreasの回答に追加しています...

@jnbekのソリューションはMac OSXでは機能せず、シンプルなソリューションを探していました。

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

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

python -m SimpleHTTPServer 80

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.