WSS през Squid не е същото като обикновено WebSocket надграждане
Разграничете криптираните WebSocket в CONNECT от обработката на обикновен HTTP Upgrade във форуърд прокси.
Вижда ли Squid HTTP Upgrade заявка или само тунел с криптиран трафик? Това определя дали контролите му за HTTP Upgrade решават проблема.
| Обикновен път през явно прокси | С какво се сблъсква Squid |
|---|---|
wss:// | Обикновено CONNECT, последван от TLS на дестинацията, който носи ръкостискането на WebSocket |
ws:// | Обикновена HTTP Upgrade заявка, която проксито може да обработи |
Контролът за Upgrade в Squid се отнася до заявките, които той обработва. Той не разкрива криптирани HTTP заглавки в обикновен непрозрачен WSS тунел. Прихващането на TLS или друга специална обработка от проксито променя видимостта и може да добави собствени изисквания за съвместимост.
За WSS открийте къде спира последователността: връзка с проксито, приет CONNECT, проверен TLS, след това ръкостискането на приложението. Отказ преди TLS е различен провал от отказана обикновена Upgrade заявка.
Ако е нужна промяна в политиката за Upgrade, използвайте директивата за инсталираната версия на Squid и разрешете конкретно нужното поведение. Разрешаването на всички Upgrade протоколи разширява политиката извън конкретното приложение.
Успешна заявка за HTTPS страница установява само част от пътя. Дълготрайният WebSocket трафик може да се провали заради изисквания на приложението, време на живот на връзката или ограничения на посредника дори за същото име на хост.