Squid üzerinden WSS, düz bir WebSocket yükseltmesiyle aynı şey değildir
CONNECT içindeki şifreli WebSocket'leri bir yönlendirici proxy'deki düz HTTP Upgrade işlemesinden ayırın.
Squid bir HTTP Upgrade isteği mi görüyor, yoksa yalnızca şifreli trafik taşıyan bir tünel mi? Bu, HTTP Upgrade denetimlerinin hatayı ele alıp almadığını belirler.
| Olağan açık proxy yolu | Squid'in karşılaştığı şey |
|---|---|
wss:// | Genellikle CONNECT, ardından WebSocket el sıkışmasını taşıyan hedef TLS |
ws:// | Proxy'nin işleyebildiği düz bir HTTP Upgrade isteği |
Squid'in yükseltme denetimi, işlediği isteklerle ilgilidir. Sıradan opak bir WSS tünelinin içindeki şifreli HTTP başlıklarını açığa çıkarmaz. TLS müdahalesi veya başka bir özel proxy işlemesi görünürlüğü değiştirir ve kendi uyumluluk gereksinimlerini getirebilir.
WSS için dizinin nerede durduğunu bulun: proxy'ye bağlantı, kabul edilen CONNECT, doğrulanan TLS, ardından uygulamanın el sıkışması. TLS'ten önceki reddetme, reddedilen düz bir Upgrade isteğinden farklı bir hatadır.
Yükseltme ilkesinde bir değişiklik gerekiyorsa, kurulu Squid sürümü için yönergeyi kullanın ve gereken davranışa özellikle izin verin. Tüm yükseltme protokollerine izin vermek, ilkeyi belirli uygulamanın ötesine genişletir.
Başarılı bir HTTPS sayfa isteği yolun yalnızca bir bölümünü kurar. Uzun ömürlü WebSocket trafiği, aynı ana bilgisayar adı için bile uygulama gereksinimleri, bağlantı ömrü veya aracıların kısıtlamaları nedeniyle yine de başarısız olabilir.