WSS přes Squid není totéž jako běžný upgrade WebSocket
Oddělte šifrované WebSocket v CONNECT od zpracování běžného HTTP Upgrade v dopředném proxy.
Vidí Squid požadavek HTTP Upgrade, nebo jen tunel s šifrovaným provozem? To určuje, zda jeho ovládání HTTP Upgrade řeší selhání.
| Běžná cesta explicitním proxy | S čím se Squid setkává |
|---|---|
wss:// | Obvykle CONNECT, po němž následuje TLS cíle nesoucí WebSocket handshake |
ws:// | Běžný požadavek HTTP Upgrade, který proxy může zpracovat |
Ovládání upgradu v Squidu se týká požadavků, které zpracovává. Neodhaluje šifrované hlavičky HTTP v běžném neprůhledném tunelu WSS. Zachytávání TLS nebo jiné zvláštní zpracování proxy mění viditelnost a může přinést vlastní požadavky na kompatibilitu.
U WSS najděte, kde se sekvence zastaví: připojení k proxy, přijatý CONNECT, ověřený TLS, poté handshake aplikace. Odmítnutí před TLS je jiné selhání než zamítnutý běžný požadavek Upgrade.
Je-li potřeba změna zásad upgradu, použijte direktivu pro nainstalovanou verzi Squidu a povolte požadované chování konkrétně. Povolení všech protokolů upgradu rozšiřuje zásady nad rámec dané aplikace.
Úspěšný požadavek na stránku HTTPS ustaví jen část cesty. Dlouhodobý provoz WebSocket může stále selhat kvůli požadavkům aplikace, životnosti spojení nebo omezením prostředníka i pro stejný název hostitele.