Halaman sembang dimuatkan tetapi sambungan langsung gagal: di mana perlu dilihat
Halaman dan pengangkutan sembang ialah permintaan berbeza. Periksa WebSocket, strim peristiwa atau tinjauan panjang, kemudian pisahkan persediaan, penghantaran dan jangka hayat.
Buka panel rangkaian sebelum memuatkan halaman sembang, kemudian cari permintaan yang membawa mesej dan bukan yang melukis rangka halaman. Dokumen, skrip, pertukaran semasa log masuk dan pengangkutan sembang boleh pergi ke hos berbeza. Kebanyakan laporan bahawa VPN merosakkan sembang sebenarnya menerangkan kegagalan salah satu daripada empat permintaan itu. Perhatikannya mengikut urutan dan jawapannya biasanya kelihatan dalam dua minit pertama.
Cari permintaan yang membawa mesej
Tapis mengikut jenis selepas halaman stabil: WebSocket muncul sebagai entri tersendiri, strim peristiwa kekal terbuka dengan respons yang membesar, dan tinjauan panjang berulang pada selang tetap. Rekod skema, hos, port dan status untuk entri yang membawa kemas kini. Catat sama ada ia bermula sebelum atau selepas log masuk, kerana pengangkutan yang dibuka sebelum pengesahan biasanya reka bentuk berbeza daripada yang dibuka selepasnya. Baca pengepala permintaan untuk permintaan naik taraf atau jenis kandungan yang diterima, kerana ia mengenal pasti pengangkutan yang sebenarnya dipilih oleh halaman yang digunakan.
Catatan forum lama menerangkan pengangkutan yang produk berhenti gunakan bertahun-tahun lalu, jadi percayalah apa yang direkodkan pelayar, bukan artikelnya. Jika entri itu tiada sama sekali, kod klien mungkin tidak pernah mencuba sambungan, yang menunjuk kepada kegagalan skrip atau konfigurasi lebih awal. Halaman yang dimuatkan hanya membuktikan dokumen itu tiba, dan perbezaan itulah yang menentukan sama ada anda benar-benar menyahpepijat rangkaian.
Persediaan, penghantaran dan jangka hayat gagal secara berbeza
WebSocket dibuka dengan naik taraf HTTP yang dijawab dengan status 101, dan segala-galanya selepas itu ialah mesej berbingkai dan bukan pengambilan halaman; dua peringkat itu RFC 6455 kekal memisahkannya secara jelas. Strim peristiwa menjawab dengan jenis kandungan penstriman dan menahan badan respons tetap terbuka. Kedua-duanya boleh gagal dibuka, terbuka tanpa menghantar apa-apa, atau terbuka, menghantar dan kemudian mati secara senyap.
wscat -c wss://chat.example.com/socket -H "Origin: https://chat.example.com"
curl -N -H "Accept: text/event-stream" https://chat.example.com/events
Tangkap kegagalan bermakna pertama sebelum anda menyentuh profil, kerana tiga masa itu menunjuk kepada lapisan berbeza. Jika jabat tangan tidak pernah selesai, bandingkannya dengan permintaan HTTPS biasa ke hos yang sama untuk melihat sama ada apa-apa mencapainya. Jika ia selesai tetapi tiada mesej tiba, perhatikan bingkai atau badan strim sementara seseorang menghantar mesej ujian dari akaun lain. Jika ia berfungsi dan kemudian berhenti, catat masa tepat dan kod penutupan, kerana pasangan itu mengenal pasti hujung mana yang menyerah.
Kod 1006 bermaksud soket ditutup tanpa bingkai penutupan, dan begitulah kotak tengah atau tamat masa melahu kelihatan dari dalam pelayar. Denyutan jantung VPN tidak membuktikan sesi aplikasi dalaman masih hidup.
Hos langsung ialah destinasi berasingan
Bahagian belakang sembang sering berada pada nama hosnya sendiri, kadang-kadang pada port berbeza atau di belakang sijil berasingan. Destinasi itu memerlukan penyelesaian, laluan dan pengendalian proksi sendiri, dan terowong berpecah boleh memasukkan halaman sambil mengecualikan soket. Selesaikan nama hos langsung dari mesin klien dan pastikan ia menjawab dengan alamat yang anda jangkakan pada rangkaian itu. Periksa rantai sijil khusus untuk nama hos itu, kerana kad liar yang meliputi tapak tidak selalunya meliputi titik akhir soket.
Jika proksi berada di laluan, pastikan ia membenarkan naik taraf atau respons panjang hayat dan bukannya menyangga. Proksi korporat yang menulis semula HTML sering mengendalikan naik taraf WebSocket dengan teruk, yang menghasilkan halaman yang dilukis sementara sembang tidak pernah bersambung. Dua permintaan kepada produk yang sama kerana itu bukan dua permintaan kepada hos yang sama.
Betulkan senarai destinasi, bukan pemeriksaan keselamatan
Membetulkan senarai destinasi ialah perubahan laluan dan milik pemilik laluan. Melonggarkan pengesahan sijil atau membuang pengepala Origin ialah perubahan keselamatan dan milik pemilik dasar, yang jarang orang yang menyahpepijat tiket. Cara terpantas untuk membuat sambungan kelihatan berjaya biasanya juga cara terpantas untuk menjadikan insiden mungkin.
Tanya pemilik aplikasi asal mana yang diterima bahagian belakang sebelum mengubah apa-apa, dan sampaikan jawapan itu kepada yang mengawal proksi. Jika ralat sijil muncul hanya melalui terowong, periksa peranti yang memintas dan bukan memasang pintasan.
Rekod secukupnya untuk diserahkan
Artifak yang berguna itu ringkas: URL halaman, titik akhir langsung, hasil jabat tangan, masa kegagalan pertama dan sama ada sambung semula dicuba. Tambah nama profil VPN dan rangkaian anda, dan sesiapa yang membacanya boleh menghasilkan semula ujian tanpa bertanya enam soalan. Sembunyikan kuki, pengepala kebenaran dan badan mesej, dan utamakan tangkapan skrin lajur masa daripada eksport arkib penuh. Bingkai dan arkib rangkaian boleh mengandungi mesej peribadi dan token sesi, jadi periksa sebelum melampirkan apa-apa.
Jika kegagalan ialah penutupan senyap, sertakan kod penutupan dan selang melahu sebelum itu, kerana pasangan itu biasanya mengenal pasti pemilik tamat masa. Serahkan rekod itu kepada pemilik aplikasi atau get laluan dan bukan meneka nilai tamat masa sendiri. Jawapan mereka tentang tingkah laku keepalive yang disokong ialah jawapan yang menutup tiket.