|
|
www.lissyara.su
—> статьи
—> FreeBSD
—> Мелочи
—> Proxy Auto Configuration
Proxy Auto Configuration (PAC)
Автор: Raven2000.
Возникла необходимость автоматически настраивать прокси для всех компьютеров и не бегать к ним, если, например, поменялось что-то на прокси сервере. Для этого существует технология Proxy Auto Configuration (PAC).
Содержание:
Создание файла автоконфигурации прокси
Первый вариант
Второй вариант
Распостраниение PAC скрипта
Web Proxy Auto-Discovery protocol
Подготовка Apache
WPAD метод основанный на DNS
WPAD метод второй основанный на DHCP
Настройка браузеров
Литература
Создание файла автоконфигурации прокси
Большинство браузеров можно автоматически сконфигурировать для использование прокси. Данная возможность реализуется при помощи Proxy Auto Configuration (PAC). PAC - файл, в котором содержится только одна функция JavaScript - FindProxyForURL ().
Создадим файл будущего скрипта:
И немного ознакомимся с основными понятиями:
Переменная Описание
DIRECT Загрузить обьект непосредственно через указанный URL
PROXY name:port Загрузить обьект через указанный прокси сервер и порт
SOCKS name:port Загрузить обьект через SOCKS сервер по указанному имени сервера и порту
| Теперь необходимо указать нужные настройки для браузеров. Возможен выбор из двух вариантов, используйте тот, который вам удобнее, например, я использую второй вариант.
Первый вариант
function FindProxyForURL(url, host) {
// Local/Internal Websites (.e.g Intranet)
if (shExpMatch(url,"*.example1.com/*")) {return "DIRECT";}
if (shExpMatch(url,"*.example2.com:*/*")) {return "DIRECT";}
// If client machine is on company network
// return proxy otherwise go direct
if (isInNet(myIpAddress(), "10.10.1.0", "255.255.255.0"))
{return "PROXY 10.10.1.100:8080";} else return {"DIRECT";}
}
|
Второй вариант
function FindProxyForURL(url, host)
{
if (isInNet(host, "192.168.1.0", "255.255.255.0")) {
return "DIRECT";
} else {
if (shExpMatch(url, "http:*"))
return "PROXY IP_proxy:3128; DIRECT";
if (shExpMatch(url, "https:*"))
return "PROXY IP_proxy:3128; DIRECT";
if (shExpMatch(url, "ftp:*"))
return "PROXY IP_proxy:2121; DIRECT";
if (shExpMatch(url, "socks:*"))
return "SOCKS IP_proxy:1080; DIRECT";
return "DIRECT";
}
}
|
Web Proxy Auto-Discovery protocol
Подготовка Apache
Необходимо, чтобы Apache выдавал скрипт при запросе. Для этого надо разрешить обращаться к файлам типа .dat:
1. Добавим в httpd.conf дерективу
AddType application/x-ns-proxy-autoconfig .dat
|
WPAD метод основанный на DNS
Механизм WPAD просто строит цепочку известных URL, начинающихся с доменного имени машины и оканчивающего коротким суффиксом wpad.
Например, доменое имя было example.com., то URL будет следующий:
http://wpad.example.com./wpad.dat
|
Таким образом, браузер будет пытатся загрузить PAC скрипт известного доменного URL.
Для реализации данного метода сделаем следующее:
1. Создим в DNS имя и присвоим ему IP
Например, создаем запись wpad.example.com с IP адресом 192.168.1.12 или создаем alias на существующий хост (что удобнее).
2. Создадим в Apache виртуальный хост с именем wpad.example.com
3. Скопируем скрипт wpad.dat в директорию виртуального хоста
Второй метод WPAD, основанный на DHCP
WPAD просто выдает PAC скрипт с выбранный номером 252 в "аренду" запросившему IP. Браузер получает URL скрипта и просто качает его по ссылке.
1. Добавим в /etc/dhcp/dhcpd.conf следующие строчки.
option local-pac-server code 252 = text ;
option local-pac-server "http://wpad.example.com:80/wpad.dat\000" ;
| 2. Перезапустите DHCP сервер.
Небольшой нюанс - у DHCP приоритет выше, чем у DNS, как следствие - гораздо быстрее. И можно вместо имени сайта указать его IP, в этом случае отсутствуют расходы времени на преобразование адреса в имя, что добавляет скорости.
Настройка браузеров
Теперь настроим браузер. В параметрах программы нужно указать определение прокси-сервера:
1) В браузере Explorer
Сервис -> Свойства обозревателя -> Подключения -> Настройка сети
поставим галочку напротив опции "Автоматическое определение параметров"
или поставим галочку напротив опции "Использовать сценарий автоматической настройки" и в поле "Адрес" напишем http://wpad.example.com:80/wpad.dat
2) В браузере Opera
Настройки -> Дополнительно -> Сеть -> Прокси-серверы
поставим галочку напротив опции "Автоматическая конфигурация прокси-сервера" и в поле "Адрес" написать http://wpad.example.com:80/wpad.dat
3) В браузере Firefox
Инструменты->Настройки->Дополнительно->Сеть->Соединение(Настроить)
выберем опции "Автоматически определять настройки прокси для этой сети"
или выберем опцию "URL автоматической настройки сервиса прокси" и в поле "Адрес" напишем http://wpad.example.com:80/wpad.dat
Нажмите кнопку Обновить, чтобы загрузить настройки.
В версии 3.0.1 нормально не работает "Автоматически определять настройки прокси для этой сети" или нужно дополнительно по гуглить =).
Литература
1) Automatic proxy HTTP server configuration in web browsers
2) WPAD Deployment Tutorial
3) Proxy auto-config
4) Automatic Discovery for Firewall and Web Proxy Clients
Отдельное спасибо Andy за помощь в редактировании статьи =)
Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?f=14&t=9995.
размещено: 2008-07-31,
последнее обновление: 2008-08-01,
автор: Raven2000
|
|
|
|
2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS
Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT
В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat
Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp
Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration
Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster
HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS
История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire
Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной
Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server
Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs
Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec
Описание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flash
Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
2010-12-05, Fomalhaut
root ZFS, GPT
Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
2010-09-05, Cancer
Настройка аудиоплеера на ximp3
Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
|
Статистика сайта
|
Сейчас на сайте находится: 46 чел.
|
За последние 30 мин было: 202 человек
|
За сегодня было 2852 показов, 710 уникальных IP
|
|
|
|
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
|
|
|
Комментарии пользователей [20 шт.]