Sohbet sayfasını yüklemeden önce ağ panelini açın, ardından sayfanın iskeletini çizen isteği değil mesajları taşıyan isteği bulun. Belge, betikler, oturum açma sırasındaki alışveriş ve sohbet taşıması farklı sunuculara gidebilir. VPN sohbeti bozdu yönündeki raporların çoğu aslında bu dört istekten birinin başarısız olduğunu anlatır. Bunları sırayla izleyin, yanıt genellikle ilk iki dakikada görünür.

Mesajları taşıyan isteği bulun

Sayfa yerine oturunca türe göre filtreleyin: WebSocket kendi girdisi olarak görünür, olay akışı büyüyen bir yanıtla açık kalır ve uzun yoklama düzenli aralıklarla yinelenir. Güncellemeleri taşıyan girdi için şemayı, sunucuyu, bağlantı noktasını ve durumu kaydedin. Oturum açmadan önce mi sonra mı başladığını not edin, çünkü kimlik doğrulamadan önce açılan taşıma genellikle sonra açılandan farklı bir tasarımdır. Yükseltme isteği veya kabul edilen içerik türü için istek başlıklarını okuyun, çünkü bunlar dağıtılan sayfanın gerçekte seçtiği taşımayı gösterir.

Eski forum gönderileri ürünlerin yıllar önce bıraktığı taşımaları anlatır, bu yüzden makaleye değil tarayıcının kaydettiğine güvenin. Girdi tamamen yoksa istemci kodu hiç bağlantı denememiş olabilir, bu da daha önceki bir betik veya yapılandırma hatasına işaret eder. Sayfanın yüklenmesi yalnızca belgenin geldiğini kanıtlar ve bu ayrım gerçekten ağı hata ayıklıyor olup olmadığınızı belirler.

Kurulum, teslimat ve ömür farklı biçimde başarısız olur

WebSocket, 101 durumuyla yanıtlanan bir HTTP yükseltmesiyle açılır ve sonrasındaki her şey sayfa çekmek değil çerçevelenmiş mesajlardır; bu iki aşamayı RFC 6455 açıkça ayırır. Olay akışı akışlı bir içerik türüyle yanıt verir ve yanıt gövdesini açık tutar. İkisi de açılamayabilir, açılıp hiçbir şey teslim etmeyebilir veya açılıp teslim ettikten sonra sessizce ölebilir.

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

Bir profile dokunmadan önce ilk anlamlı hatayı yakalayın, çünkü üç zamanlama farklı katmanlara işaret eder. El sıkışma hiç tamamlanmıyorsa, aynı sunucuya yapılan sıradan bir HTTPS isteğiyle karşılaştırıp oraya bir şey ulaşıp ulaşmadığına bakın. Tamamlanıyor ama mesaj gelmiyorsa, başka bir hesaptan test mesajı gönderilirken çerçeveleri veya akış gövdesini izleyin. Çalışıp sonra duruyorsa kesin zamanı ve kapatma kodunu kaydedin, çünkü bu ikili hangi tarafın pes ettiğini gösterir.

1006 kodu, soketin kapatma çerçevesi olmadan kapandığı anlamına gelir ve bir ara cihaz ya da boşta kalma zaman aşımı tarayıcının içinden böyle görünür. VPN kalp atışı, içteki uygulama oturumunun hâlâ canlı olduğunu kanıtlamaz.

Canlı sunucu ayrı bir hedeftir

Sohbet arka uçları çoğu zaman kendi sunucu adlarında yaşar, bazen başka bir bağlantı noktasında veya ayrı bir sertifikanın arkasında. Bu hedefin kendi çözümlemesi, rotası ve proxy işleyişi gerekir ve bölünmüş tünel sayfayı içerip soketi dışarıda bırakabilir. Canlı sunucu adını istemci makinesinden çözümleyin ve o ağda beklediğiniz adresle yanıt verdiğini doğrulayın. Sertifika zincirini özellikle o sunucu adı için denetleyin, çünkü siteyi kapsayan bir joker karakter soketin uç noktasını her zaman kapsamaz.

Yolda bir proxy varsa, yükseltmeye veya uzun ömürlü yanıta tamponlamak yerine izin verdiğini doğrulayın. HTML'i yeniden yazan kurumsal proxy'ler WebSocket yükseltmelerini sıklıkla kötü işler, bu da sayfanın çizildiği ama sohbetin hiç bağlanmadığı bir durum yaratır. Bu yüzden aynı ürüne yapılan iki istek, aynı sunucuya yapılan iki istek değildir.

Güvenlik denetimlerini değil, hedef listesini düzeltin

Hedef listesini düzeltmek bir yönlendirme değişikliğidir ve rotanın sahibine aittir. Sertifika doğrulamasını gevşetmek veya Origin başlığını kaldırmak bir güvenlik değişikliğidir ve ilkenin sahibine aittir, ki bu kişi nadiren kaydı hata ayıklayan kişidir. Bir bağlantıyı çalışıyor gibi göstermenin en hızlı yolu genellikle bir olayı mümkün kılmanın en hızlı yoludur.

Herhangi bir şeyi değiştirmeden önce uygulama sahibine arka ucun hangi kaynakları kabul ettiğini sorun ve bu yanıtı proxy'yi yönetene iletin. Sertifika hatası yalnızca tünelden geçerken görünüyorsa, atlatma kurmak yerine araya giren cihazı inceleyin.

Devretmeye yetecek kadar kaydedin

İşe yarayan belge kısadır: sayfa URL'si, canlı uç nokta, el sıkışma sonucu, ilk hatanın zamanı ve yeniden bağlanmanın denenip denenmediği. VPN profilinin adını ve bulunduğunuz ağı ekleyin, okuyan herkes altı soru sormadan testi yeniden üretebilir. Çerezleri, yetkilendirme başlıklarını ve mesaj gövdelerini gizleyin ve tam arşiv dışa aktarımı yerine zaman sütununun ekran görüntüsünü seçin. Çerçeveler ve ağ arşivleri özel mesajlar ve oturum belirteçleri içerebilir, bu yüzden bir şey eklemeden önce inceleyin.

Hata sessiz bir kapanışsa, kapatma kodunu ve ondan önceki boşta kalma aralığını ekleyin, çünkü bu ikili genellikle zaman aşımının sahibini gösterir. Zaman aşımı değerini kendiniz tahmin etmek yerine kaydı uygulama veya ağ geçidi sahibine teslim edin. Desteklenen keepalive davranışı hakkındaki yanıtları kaydı kapatan yanıttır.

İlgili makaleler