Вследствие подклчючения по vpn для доступа к некоторым ресурсам, а чтобы на другие ходил браузер на стандартный шлюз, был написан такой вот proxy.pac:
function FindProxyForURL(url, host) {
// local domains and network
if (shExpMatch(url, "*.MYCOMPANY/*") ||
shExpMatch(url, "*.MYCOMPANY:*/*") ||
shExpMatch(url, "*.MYCOMPANY.com/*") ||
shExpMatch(url, "*.MYCOMPANY.com:*/*") ||
isPlainHostName(host) || dnsDomainIs(host, ".local.domain")) {
return "DIRECT";
} else {
// REMOTE_RES_1 & REMOTE_RES_2
if (shExpMatch(url, "*.REMOTE_RES_1.com/*") ||
shExpMatch(url, "*.REMOTE_RES_1.com:*/*") ||
shExpMatch(url, "*.cloud.REMOTE_RES_2.com/*") ||
shExpMatch(url, "*.cloud.REMOTE_RES_2.com:*/*")
//shExpMatch(url, "*.sgg.REMOTE_RES_2.com/*") ||
//shExpMatch(url, "*.sgg.REMOTE_RES_2.com:*/*")
) {
return "SOCKS 127.0.0.1:3128";
} else {
if (url.substring(0, 5) == "http:" ||
url.substring(0, 6) == "https:" ||
url.substring(0, 4) == "ftp:") {
return "DIRECT";
}
}
}
return "DIRECT";
}
Вроде всё работает, кроме тех, что закомментированы:
//shExpMatch(url, "*.sgg.REMOTE_RES_2.com/*") ||
//shExpMatch(url, "*.sgg.REMOTE_RES_2.com:*/*")
Если же их раскомментировать, то ломаются и остальные. Такое впечатление, будто где-то простая синтаксическая ошибка, но глазом не могу увидеть. А как продебажить proxy.pac - тоже без понятия. Собственно, вопрос - как сделать так, чтобы всё работало? И есть ли какие-то туториалы по написанию proxy.pac, а то это по сути нагуглил и слепил с кусочков кое-как.
Пользователь решил продолжить мысль 09 Ноября 2015, 14:23:41:
Ну вот почему так всегда - видишь ошибку лишь после отправки сообщения на форум???
И удалить тут нельзя свою тему... Там действительно простая синтаксическая ошибка - забыл поставить "||" перед закомментированным куском.