Работа мессанджера Whatsapp через прокси-сервер Squid 4.9

 В работе имеется прокси-сервер Squid 4.9, работающий с HTTPS поддержкой. Столкнулся с проблемой в работе мессанджера Whatsapp (Web, Desktop версии) на конечных системах.

 

Проблема заключается в том что web, desktop версии Whatsapp не соединяются со своими серверами и выдают сообщение что отсутствует подключение к сети интернет. В логах Squid (access.log) видны следующие события при попытке Whatsapp установить соединение:

 

Видно что приложение пытается открыть WebSocket соединение, о чем свидетельствует /ws в строке запроса. Так же в браузере при просмотре кода можно увидеть что не удается выполнить WebSocket соединение (WebSocket connection to ‘wss://web.whatsapp.com/ws’ failed: Error during WebSocket handshake: Unexpected response code: 400)


Чтобы решить данную проблему нужно чтобы Squid не пытался посмотреть HTTPS трафик в направлении whatsapp адресов, а просто выполнял соединение.

 

Для этого создадим файл (прим. /etc/squid/sites_webwhatsapp.txt) в котором укажем для каких сайтов не предпринимать никаких действий:

 

В конфигурационном файле (/etc/squid/squid.conf) указываем следующие параметры:

ВАЖНО. Обращаю внимание что действие splice должно быть до каких либо действий с HTTPS трафиком. 

 

Перечитываем конфиг squid (/etc/init.d/squid reload) и проверяем работу.