Файл Proxy.pac - прямой доступ к сайту через нестандартный порт

Мы собираемся начать использовать файл proxy.pac в нашей среде. Это будет очень простой файл с большей частью трафика, идущего на прокси, но с несколькими сайтами, которые идут напрямую (где они размещаются внутри и т. Д.).

У нас есть пара сайтов, которые нужно добавить, чтобы идти напрямую, но только на определенных портах. Под этим я подразумеваю

http://www.test.com/ - через прокси http://www.test.com:765/ - перейти прямо

Любой, кто сможет подсказать, как я это делаю, так как я даже не могу заставить его работать с опцией in url.

Спасибо

3 ответа

Решение

Это, кажется, работает хорошо для меня:

function FindProxyForURL(url, host) {

    if ( shExpMatch(url, "http://www.test.com:765/*") ) { return "DIRECT"; }

    return "PROXY proxy:port";
}

Кстати, вы можете использовать alert() для отладки, по крайней мере, под IE. Это дерьмо, но оно, по крайней мере, дает вам некоторое представление о том, что делает скрипт. Очевидно, удалите их перед началом производства.

Если вы хотите что-то более общее, чтобы все запросы, для которых требуется нестандартный порт, работали напрямую, попробуйте:

if (shExpMatch(url, "*://" + host + ":*"))
    return "DIRECT";

Он не идеален (и вы можете изменить его так, чтобы запросы, в которых явно указан стандартный порт для протокола, например:80 для HTTP и:443 для HTTPS, по-прежнему проходили через прокси-сервер), но он должен перехватывать большинство запросов. Уточнения приветствуются.

Почему бы не настроить внутренний прокси на proxy test.com:765 и т. Д. С виртуальным хостом и добавить его в proxy.pac?

Другие вопросы по тегам