HTTPS в файле PAC

Я пишу файл .pac для использования с iOS5 без джейлбрейка, но не могу сопоставить URL, начинающийся с «https» (например: https://test.com).

Вот мой сценарий:

function FindProxyForURL(url, host) {
  if (shExpMatch(url, "https://*")) return "PROXY 123.123.123.123";
  return 'DIRECT';
}

И если я совпал с «https://test.com», как я могу вернуть «https://123.123.123.123» в URL-адрес?


person 3went2    schedule 29.02.2012    source источник


Ответы (2)


Это не должно было быть принято. Пожалуйста, проголосуйте за удаление, если можете.


Исходный ответ:

Вы не можете проксировать протокол HTTPS, не нарушая сквозную безопасность, которая является его единственной отличительной чертой. Причина, по которой ваши совпадения «не работают», заключается в том, что ваш PAC-файл игнорируется для HTTPS.

Маршрутизация трафика между браузером и прокси-сервером на устройстве через HTTPS также совершенно бессмысленна, независимо от того, возможно ли это технически. Я предполагаю, что это было сделано невозможным из соображений безопасности (чтобы пользователи не могли быть обмануты, думая, что трафик безопасен, когда это не так), но я не исследовал.

person tripleee    schedule 29.02.2012
comment
Это неправда, PAC-файл не игнорируется для HTTPS — HTTPS может быть безопасно проксировано с помощью метода CONNECT, который, по сути, просто ретранслирует поток TCP с клиентского компьютера через прокси-сервер на удаленный компьютер. Соединение по-прежнему зашифровано, и прокси-сервер не может просматривать какой-либо трафик в виде простого текста. - person Johnny; 28.06.2016
comment
Верно. Файл PAC не игнорируется, а для цели HTTPS используется метод CONNECT. И в таком случае прокси не знает о связи, происходящей между сервером и клиентом. Добавление моего комментария, потому что принятый ответ распространяет неверную информацию. - person Pavan Kumar; 29.06.2016
comment
Спасибо за обновления. К сожалению, я не могу удалить этот ответ, потому что он принят. - person tripleee; 29.06.2016

Использовать этот:

if (shExpMatch(url, "https:**"))

Это должно исправить это.

person Webrats    schedule 10.06.2016