Додайте проксі-сервер до певного хоста лише у mac


10

Я хочу застосувати настройки проксі-сервера лише до певного хоста (наприклад, www.apple.com) в Mac OS X. Як це зробити?

У системних налаштуваннях є лише параметри для обходу налаштувань проксі для певних хостів.

Відповіді:


17

Ви можете використовувати наступний proxy.pacфайл, щоб надіслати увесь трафік на apple.com через проксі-сервер 1.2.3.4, продовжуючи переходити безпосередньо на всі інші хости:

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.pac(або будь-яке інше ім'я), яке ви хочете на веб-сервері. Це може бути локальний веб-сервер ( http: //localhost/proxy.pac ). Це потрібно як для OSX Lion .
  2. Перейти до System Preferences.
  3. Виберіть Network.
  4. Виберіть мережу, яку ви хочете змінити (наприклад, "WiFi").
  5. Натисніть Advanced...кнопку.
  6. Клацніть на Proxiesвкладку
  7. Перевірити [x] Automatic Proxy-Configuration.
  8. В URL:поле введіть в URL на файл , який ви створили в кроці 1., наприклад: http://localhost/proxy.pac. (зверніть увагу: локальні шляхи не працюватимуть у сучасних OSX)
  9. Клацніть SaveіApply

Вуаля! Ваша власна проксі-конфігурація

Для отримання додаткової інформації про формат proxy.pacфайлу див. Http://en.wikipedia.org/wiki/Proxy_Auto-Config як вихідну точку.


8

Насправді ви можете використовувати file:///path/to/fileсхему для URL, замість того, щоб покладатися на веб-сервер.

Наприклад:

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

1
Цікаво, що все це працює і для Linux / BSD, і, можливо, навіть для Windows; в будь-якому місці автоматичної конфігурації проксі , це, швидше за все, спрацює.
jnbek

Це, мабуть, має бути прийнятою відповіддю, оскільки це дозволяє уникнути надмірного ускладнення стека у використанні, і як згадується в попередньому коментарі - це набагато більш універсальне рішення.
user239546,

Якщо ви використовуєте файл: ///...pac, то в деяких додатках у вас можуть виникнути проблеми (наприклад, програми Microsoft, такі як Команди та інші, див. Support.microsoft.com/en-us/help/4042151/… ), найкращий спосіб - розмістити його на localhost або будь-якому публічному сервері в Інтернеті.
paly

1
Це не працює на OSX.
jpgeek

@jpgeek працює для мене о 10.15. Якщо ви не впевнені, поверніться, 'PROXY ...'не перевіряючи домен для підтвердження. proxy.pacперемикається під час переключення на wifi.
seeker_of_bacon

2

Додавання до відповіді @ heiglandreas ...

@ рішення jnbek не працювало на Mac OSX для мене, і я шукав просте рішення.

Отже, я створив нову папку і скопіював у неї файл pac. Потім я запустив простий веб-сервер на OSX на порт 80 саме з цієї папки.

Просто перейдіть у папку та запустіть цю команду. Будь ласка, змініть порт з 80 на щось інше, якщо його вже зайнято.

python -m SimpleHTTPServer 80

Тепер я міг легко отримати файл proxy.pac http://localhost/proxy.pac. Або, для різного використання порту: http://localhost:PORT/proxy.pac.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.