WSS Squidin kautta ei ole sama kuin tavallinen WebSocket-päivitys
Erottele CONNECTin sisällä olevat salatut WebSocketit välityspalvelimen tavallisen HTTP Upgrade -käsittelyn käsittelystä.
Näkeekö Squid HTTP Upgrade -pyynnön vai vain salattua liikennettä kuljettavan tunnelin? Se ratkaisee, käsittelevätkö sen HTTP Upgrade -ohjaimet virheen.
| Tavallinen eksplisiittisen välityspalvelimen polku | Mihin Squid törmää |
|---|---|
wss:// | Yleensä CONNECT, jota seuraa kohde-TLS, joka kuljettaa WebSocket-kättelyn |
ws:// | Tavallinen HTTP Upgrade -pyyntö, jonka välityspalvelin voi käsitellä |
Squidin päivitysohjaus koskee pyyntöjä, joita se käsittelee. Se ei paljasta salattuja HTTP-otsakkeita tavallisessa läpinäkymättömässä WSS-tunnelissa. TLS-sieppaus tai muu erityinen välityskäsittely muuttaa näkyvyyttä ja voi tuoda mukanaan omat yhteensopivuusvaatimuksensa.
Etsi WSS:ssä, mihin järjestys pysähtyy: yhteys välityspalvelimeen, hyväksytty CONNECT, vahvistettu TLS, sitten sovelluksen kättely. Hylkäys ennen TLS:ää on eri virhe kuin hylätty tavallinen Upgrade-pyyntö.
Jos päivityskäytäntöä on muutettava, käytä asennetun Squid-version direktiiviä ja salli tarvittava toiminta nimenomaisesti. Kaikkien päivitysprotokollien salliminen laajentaa käytäntöä kyseisen sovelluksen ulkopuolelle.
Onnistunut HTTPS-sivupyyntö vahvistaa vain osan polusta. Pitkäikäinen WebSocket-liikenne voi silti epäonnistua sovellusvaatimusten, yhteyden eliniän tai välittäjien rajoitusten vuoksi jopa samalla isäntänimellä.