Web Proxy Autodiscovery Protocol (WPAD) - это метод автоматического определения нахождения файла proxy auto-configuration (PAC) для автоматизации подключения броузера через proxy-сервер
DHCP-сервер раздает клиентам текстовый параметр с кодом 252 (имя произвольное), в котором указано расположение сценария настройки конфигурации броузера (proxy auto-configuration (PAC)
Работает только для Internet Explorer, старше версии 4.0
Имя файла сценария может быть любым (обычно proxy.pac, но с целью совместимости с получением настроек прокси через поиск по DNS, его целесообразно назвать wpad.dat)
bsd$ sudo less /usr/local/etc/dhcpd.conf
....
option wpad code 252=text;
....
subnet 192.168.3.0/24 {
....
option wpad "http://192.168.3.196:80/wpad.dat";
}
Для остальных современных броузеров, отличных от Internet Explorer, за исключением Opera, который вообще не поддерживает WPAD, применяется прием, связанный с просмотром DNS имен. Начиная с основного домена, хост пытается распознать доменное имя wpad.klm.nts.ru и при отрицательном результате поднимается на уровень выше, пытаясь распознать имя в родительском домене wpad.nts.ru и так далее. При получении адреса, хост пытается загрузить сценарий с предопределенным именем wpad.dat из корневой папки www-сервера (т.е. http://192.168.3.196:80/wpad.dat)
WWW-серверу необходимо разрешение на выполнение скриптов из файлов типа .dat. В Apache это можно реализовать, прописав строку AddType application/x-ns-proxy-autoconfig .dat в файл .htaccess в той же директории, где находится wpad.dat или же в самом httpd.conf
Вариант с просмотром DNS решает задачу для хостов, входящих в домен, но непригоден для рабочих станций, временно подключенных к сети, или еще не подготовленных для ввода в домен. В связи с этим, на сервере WINS было создано бессрочное статичное сопоставление WPAD с IP-адресом www-сервера, который предоставляет сценарий автонастройки (PAC)
Сам сценарий, содержащий одну-единственную функцию FindProxyForURL( url, host) оказался недостаточно гибким, чтобы им можно было эффективно управлять настройками подключений смешанной сети с динамическими IP. Поэтому, текущая версия скрипта просто возвращает всем хостам "PROXY 192.168.3.193:3128", а для доменных пользователей параметры подключения к прокси переопределяются политикой соответствующего домена
function FindProxyForURL(url,host) {
return "PROXY 192.168.3.193:3128";
}
FreeBSD 8.1-RELEASE: Tue Sep 27 19:10:22 YEKST 2011