Настройка юзерских проксиков для ленивых сисадминов

April 22nd, 2009 Quick link: http://oe.lv/480

Буквально на днях шёл мимо своих мусорников и размышлял, как же работает автоконфигурация проксиков в браузерах. Я имею в виду строку с адресом из скриншота справа.
Оказывается, эта довольна интересная конфигурационная особенность доступна для всех браузеров (telnet не браузер) и даёт возможность управлять настройками проксика через JavaScript. По дефолту название файла должно быть proxy.pac, и в нём должна быть описана минимум 1 функция, FindProxyForURL(url, host). Так же, по дефолту, MIME-тип файла должен быть application/x-ns-proxy-autoconfig или application/x-javascript-config, хотя современным браузерам, в принципе, на него наплевать.
Пример описания функции:

function FindProxyForURL(url, host) {
    return "PROXY proxy1.example.com:8080; PROXY proxy2.example.com:8080; DIRECT";
}

Пытаться использовать проксик. Если неудача преследует нас – делать прямые запросы. Как видно из примера, можно возвращать 2/3/4/99 проксиков в одном ответе, тем самым распределяя нагрузку. Я как-то ожидал более сложной настройки и вообще системы автоконфигурации в целом :/

Список других функций есть на специализированном сайте в разделе “PAC Functions Explained“, а более подробное чтиво на эту тему доступно на английском языке в статье “Automatic proxy HTTP server configuration in web browsers

No comments yet.

TOP