WSS melalui Squid tidak sama dengan peningkatan WebSocket biasa
Pisahkan WebSocket tersulit dalam CONNECT daripada pengendalian HTTP Upgrade teks biasa dalam proksi hadapan.
Adakah Squid melihat permintaan HTTP Upgrade, atau hanya terowong yang membawa trafik tersulit? Itu menentukan sama ada kawalan HTTP Upgrade-nya menangani kegagalan.
| Laluan proksi eksplisit biasa | Apa yang ditemui Squid |
|---|---|
wss:// | Biasanya CONNECT, diikuti TLS destinasi yang membawa jabat tangan WebSocket |
ws:// | Permintaan HTTP Upgrade teks biasa yang boleh diproses oleh proksi |
Kawalan peningkatan Squid berkaitan dengan permintaan yang diprosesnya. Ia tidak mendedahkan pengepala HTTP tersulit di dalam terowong WSS legap biasa. Pemintasan TLS atau pengendalian proksi khas lain mengubah keterlihatan dan boleh membawa keperluan keserasiannya sendiri.
Untuk WSS, cari di mana urutan berhenti: sambungan ke proksi, CONNECT diterima, TLS disahkan, kemudian jabat tangan aplikasi. Penolakan sebelum TLS ialah kegagalan berbeza daripada permintaan Upgrade teks biasa yang ditolak.
Jika perubahan dasar peningkatan diperlukan, gunakan direktif untuk versi Squid yang dipasang dan benarkan tingkah laku yang diperlukan secara khusus. Membenarkan semua protokol peningkatan meluaskan dasar melebihi aplikasi tertentu.
Permintaan halaman HTTPS yang berjaya hanya menetapkan sebahagian laluan. Trafik WebSocket jangka panjang masih boleh gagal atas keperluan aplikasi, hayat sambungan atau sekatan perantara, walaupun untuk nama hos yang sama.