27.09.2016

Скрипти Автоконфігурування для Налаштувань Проксі Сервера – Травень 13, 2013

Original: http://nscsysop.hypermart.net/proxypac.html

Proxy.pac файли

Деякі з моїх клієнтів попросили спосіб мати браузери автоматично підібрати налаштування проксі-сервера, якщо комп’ютер (зазвичай ноутбук) знаходиться в локальній мережі, але не використовувати проксі-сервер, якщо комп’ютер не в локальній мережі. Наприклад, переміщення ноутбук від домашньої мережі, без проксі-сервера в локальній мережі офісу, з сервером BorderManager.

Браузер може бути налаштований за допомогою простого файлу proxy.pac. Файл proxy.pac може бути досить складним, забезпечуючи для балансування навантаження, відмовостійкості, або для інших цілей. Я був би щасливий, щоб створити файл призначених для користувача proxy.pac для вас (як платного консультаційного проекту). Приклади тут досить проста.

Я перевірив цей proxy.pac файл на Netscape, Mozilla, Firefox, Opera і Internet Explorer на Windows XP Professional і Windows 2000 Professional.

Примітка: Це не метод віддаленого або постійно вказати параметри проксі-сервера, який може бути зроблено декількома способами (ZENworks, сценарій входу, проксі-файли конфігурації з Netscape або Microsoft, і т.д.) я буду вважати, що ви будете відвідувати робочі станції і введіть параметри проксі-сервера в міру необхідності, щоб вказати на файл proxy.pac. Якщо комп’ютер має бути переміщений від локальної мережі, то вам також необхідно скопіювати файл на комп’ютер.


Як це працює:

Файл .pac перевіряє локальний адресу IP-підмережі ПК, а гілки з / IF ELSE заяви. Якщо комп’ютер перебуває в підмережі, яка відповідає, використовується проксі-сервер. Якщо комп’ютер перебуває в будь-який інший підмережі, пряме з’єднання використовується замість проксі-сервера.

function FindProxyForURL(url, host)
{
if (isInNet(myIpAddress(), “192.168.1.0”, “255.255.255.0”))
return “PROXY 192.168.1.1:8080”;
else
return “DIRECT”;
}

У моєму прикладі файл # 1, я перевірити, що хост знаходиться в 192.168.1.0 (255.255.255.0) підмережі. Якщо так, то я кажу браузеру використовувати проксі-сервер, розташований за адресою 192.168.1.1 IP, використовуючи порт 8080. Очевидно, що вам може знадобитися змінити підмережі, маску підмережі і проксі-адреса / порт для вашої конфігурації локальної мережі.

Є методи, які можуть бути використані для перевірки декількох подсетях в разі, якщо у вас є більше однієї внутрішньої підмережі LAN. Запитуйте в громадських форумах Novell про більш складних proxy.pac файлів. (Або найняти мене, щоб розробити для ваших умов!)

Завантажити мій приклад proxy.pac файл # 1 ТУТ (проста версія)


Більш складний варіант

У мене було кілька випадків, коли мені потрібно було обійти HTTP проксі-сервер для конкретного веб-сайту. Це легко зробити з файлом proxy.pac, поклавши в операторі IF з правильним синтаксисом. (Ви можете мати багато якщо заяви, якщо ви хочете зробити це для кількох веб-сайтів.)

Ось приклад, який обходить проксі-сервер для конкретного веб-сайту (principia.mo.techpaths.com), який дає горе при переході до нього через HTTP-проксі:

function FindProxyForURL(url, host)
{
if (shExpMatch(url, “http://principia.mo.techpaths.com*”)) {
return “DIRECT”;
}
if (isInNet(myIpAddress(), “192.168.1.0”, “255.255.255.0”))
return “PROXY 192.168.1.1:8080”;
else
return “DIRECT”;
}


Ви можете завантажити цю версію proxy.pac тут.


Трохи більш складними proxy.pac Приклад – Кілька проксі Обхід URL (а не для ноутбуків)

У цьому прикладі ви можете додати кілька URL, щоб НЕ використовувати проксі-сервер, а потім проксі все інше. У цьому прикладі, у вас немає чек на локальній мережі, тому він не буде хорошим прикладом для ноутбука, який переміщається між мережами.

function FindProxyForURL(url, host)
{
// variable strings to return
var proxy_yes = “PROXY 192.168.1.1:8080”;
var proxy_no = “DIRECT”;
if (shExpMatch(url, “http://www.mycompanywebsite.com*”)) { return proxy_no; }
if (shExpMatch(url, “http://www.myotherwebsite.com*”)) { return proxy_no; }
if (shExpMatch(url, “http://www.my3rdlocalsite.com*”)) { return proxy_no; }
// Proxy anything else
return proxy_yes;
}

Навіть Складніший proxy.pac Приклад – Кілька проксі Обхід URL з місцевими адреса Перевірити

У цьому прикладі ви можете додати кілька URL, щоб НЕ використовувати проксі-сервер, а потім проксі все інше. У цьому прикладі, у вас є чек на локальній мережі, так що ви можете використовувати це на ноутбуці.


function FindProxyForURL(url, host)
{
// variable strings to return
var proxy_yes = “PROXY 192.168.1.1:8080”;
var proxy_no = “DIRECT”;
if (shExpMatch(url, “http://www.mycompanywebsite.com*”)) { return proxy_no; }
if (shExpMatch(url, “http://www.myotherwebsite.com*”)) { return proxy_no; }
if (shExpMatch(url, “http://www.my3rdlocalsite.com*”)) { return proxy_no; }
if (shExpMatch(url, “http://192.168.1.100*”)) { return proxy_no; }
// Proxy if PC is on local LAN
if (isInNet(myIpAddress(), “192.168.1.0”, “255.255.255.0”))
return “PROXY 192.168.1.1:8080”;
else
return “DIRECT”;
}

Автоконфігурування параметри проксі-сервера з BorderManager сервера (Internet Explorer)

У цьому методі ви вказуєте в файл робиться доступним через BorderManager miniwebserver. Для простого файлу proxy.pac і ПК, який говорить по локальній мережі, це не робить багато сенсу, так як це простіше просто ввести адресу і номери портів проксі-сервера. Проте, цей метод корисний, коли у вас є складні proxy.pac файли, які роблять балансування навантаження і т.д.

1. Скопіюйте файл proxy.pac в BorderManager SYS: ETC \ каталог PROXY \ DATA.
2. В налаштуваннях браузера проксі, налаштувати автоматичне конфігурування проксі-сервера (Netscape) або Використовувати Сценарій автоматичної настройки (IE) URL для:

http://192.168.1.1:1959/data/proxy.pac

Там, де 192.168.1.1 повинен бути змінений на приватний IP-адреса вашого BorderManager сервера. Порт 1959 є адреса miniwebserver за замовчуванням.

Якщо Internet Explorer не бачить файл, він за замовчуванням буде використовувати будь-які настройки проксі-сервера сконфігуровані в налаштуваннях LAN.

Деякі версії Internet Explorer мають помилку з .pac файлами. Це може бути виправлено за допомогою патча. Дивіться статтю Microsoft тут.


Автоконфігурування настройки проксі-сервера з локальної копії proxy.pac File (IE або Netscape)

У цьому методі, корисний для ноутбуків, які подорожують і вимикати вашої локальної мережі, скопіювати файл в якийсь локальний каталог, а також вказати на нього.

1. Скопіюйте файл proxy.pac в C: каталог \ WINDOWS або інший каталог за вашим вибором.
2. В налаштуваннях браузера проксі, налаштувати автоматичне конфігурування проксі-сервера (Netscape) або Використовувати Сценарій автоматичної настройки (IE) URL для:

Netscape, використовуйте: Файл: /// C | /windows/proxy.pac
Internet Explorer, використовуйте: Файл: // C: /windows/proxy.pac

У Netscape, натисніть на кнопку Перезавантаження.


Чи були Internet Explorer автоматично налаштовуватися для використання проксі-сервера

Є способи, щоб підштовхнути настройки проксі-сервера (включаючи proxy.pac) файли в будь-якому браузері, але Інтернет Explorere має тенденцію бути найпростішим. Насправді, ви можете мати Internet Explorer автоматично виявить файл proxy.pac без вас, навіть маючи доторкнутися до браузеру, якщо браузер залишається при настройках за умовчанням. Це робиться шляхом перейменування proxy.pac до wpad.dat, і запуск його з веб-сервера, використовуючи локальну запис DNS. Будь ласка, дивіться цю підказку про методи для налаштування браузерів, щоб підібрати налаштування проксі-сервера.

 

About The Author

admin

Comments are closed.