Мы собираемся начать использовать файл proxy.pac в нашей среде. Это будет очень простой файл, в котором большая часть трафика идет на прокси, но несколько сайтов идут напрямую (где они размещены внутри и т. Д.).
У нас есть пара сайтов, которые нужно добавить, чтобы работать напрямую, но только для определенных портов. Под этим я подразумеваю
http://www.test.com - Через прокси http://www.test.com:765 - Идите прямо
Кто-нибудь может подсказать, как я это делаю, так как я даже не могу заставить его работать с опцией в URL.
Спасибо
Мне кажется, это нормально работает:
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?