Stranica chata se učitava, ali živa veza ne radi: gdje tražiti
Stranica i chat transport su različiti zahtjevi. Provjerite WebSocket, tok događaja ili dugo anketiranje, pa razdvojite postavljanje, dostavu i životni vijek.
Otvorite mrežni panel prije učitavanja stranice chata, zatim pronađite zahtjev koji nosi poruke, a ne onaj koji iscrtava okvir. Dokument, skripte, razmjena prijave i chat transport mogu ići na različite hostove. Većina prijava da je VPN pokvario chat zapravo opisuje neuspjeh jednog od ta četiri zahtjeva. Gledajte ih po redu i odgovor je obično vidljiv u prve dvije minute.
Pronađite zahtjev koji nosi poruke
Filtrirajte po tipu kad se stranica smiri: WebSocket se pojavljuje kao vlastiti unos, tok događaja ostaje otvoren s rastućim odgovorom, a dugo anketiranje se ponavlja u redovnom intervalu. Zapišite šemu, host, port i status za onaj koji nosi ažuriranja. Zabilježite je li počeo prije ili poslije prijave, jer je transport otvoren prije autentifikacije obično drugačiji dizajn od onog otvorenog poslije. Pročitajte zaglavlja zahtjeva za zahtjev nadogradnje ili prihvaćeni tip sadržaja, jer ona pokazuju transport koji je isporučena stranica stvarno odabrala.
Stare forumske objave opisuju transporte koje su proizvodi prestali koristiti prije godinama, pa vjerujte onome što je preglednik zabilježio, a ne članku. Ako unos u potpunosti nedostaje, klijentski kod možda nikada nije pokušao vezu, što upućuje na raniji neuspjeh skripte ili konfiguracije. Stranica koja se učita dokazuje samo da je dokument stigao, a ta razlika odlučuje debugujete li uopće mrežu.
Postavljanje, dostava i životni vijek padaju na različite načine
WebSocket se otvara HTTP nadogradnjom na koju se odgovara statusom 101, a sve poslije su uokvirene poruke umjesto dohvaćanja stranica, dvije faze koje RFC 6455 drži izričito odvojenima. Tok događaja odgovara streaming tipom sadržaja i drži tijelo odgovora otvorenim. Oba mogu ne uspjeti otvoriti se, otvoriti se i ne dostaviti ništa, ili otvoriti se, dostaviti i zatim tiho umrijeti.
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
Uhvatite prvi smisleni neuspjeh prije nego dirnete profil, jer tri vremena upućuju na različite slojeve. Ako se rukovanje nikada ne završi, uporedite ga s običnim HTTPS zahtjevom na isti host da vidite dolazi li do njega išta. Ako se završi i poruke ne stižu, gledajte okvire ili tijelo toka dok neko s drugog računa šalje testnu poruku. Ako radi pa stane, zapišite točno vrijeme i kod zatvaranja, jer taj par pokazuje koja je strana odustala.
Kod 1006 znači da se socket zatvorio bez okvira zatvaranja, tako izgleda posrednik ili mirovanje s istekom iz unutrašnjosti preglednika. VPN puls ne dokazuje da je unutrašnja sesija aplikacije još živa.
Živi host je odvojeno odredište
Chat pozadine često žive na vlastitom imenu hosta, ponekad na drugom portu ili iza odvojenog certifikata. To odredište treba vlastito razrješavanje, rutu i tretman proxyja, a podijeljeno tuneliranje može uključiti stranicu i izuzeti socket. Razriješite živo ime hosta s klijentskog računala i potvrdite da odgovara adresom koju očekujete na toj mreži. Provjerite lanac certifikata posebno za to ime hosta, jer wildcard koji pokriva stranicu ne pokriva uvijek socket endpoint.
Ako je proxy na putu, potvrdite da dopušta nadogradnju ili dugotrajni odgovor umjesto da ga bufferira. Korporacijski proxyji koji prepisuju HTML često loše obrađuju WebSocket nadogradnje, što daje stranicu koja se prikazuje dok se chat nikada ne povezuje. Dva zahtjeva prema istom proizvodu zato nisu dva zahtjeva prema istom hostu.
Popravite listu odredišta, ne sigurnosne provjere
Popravljanje liste odredišta je promjena rutiranja i pripada onome ko posjeduje rutu. Popuštanje provjere certifikata ili uklanjanje Origin zaglavlja je sigurnosna promjena i pripada onome ko posjeduje politiku, a to je rijetko osoba koja debuguje tiket. Najbrži način da se veza pojavi obično je najbrži način da incident postane moguć.
Pitajte vlasnika aplikacije koje origine pozadina prihvaća prije nego bilo šta promijenite, i prenesite taj odgovor onome ko kontrolira proxy. Ako se greška certifikata pojavljuje samo kroz tunel, pregledajte uređaj koji presreće umjesto da instalirate zaobilaznicu.
Zapišite dovoljno za primopredaju
Koristan artefakt je kratak: URL stranice, živi endpoint, rezultat rukovanja, vrijeme prvog neuspjeha i je li pokušano ponovno povezivanje. Dodajte ime VPN profila i mrežu na kojoj ste bili, i svako ko pročita može ponoviti test bez šest pitanja. Redigirajte kolačiće, zaglavlja autorizacije i tijela poruka, i radije priložite snimku ekrana kolone s vremenom nego cijeli izvoz arhive. Okviri i mrežne arhive mogu sadržavati privatne poruke i sesijske tokene, pa pregledajte prije nego što bilo šta priložite.
Ako je neuspjeh tiho zatvaranje, uključite kod zatvaranja i interval mirovanja koji mu je prethodio, jer taj par obično identificira vlasnika isteka. Predajte zapis vlasniku aplikacije ili gatewaya umjesto da sami pogađate vrijednost isteka. Njihov odgovor o podržanom ponašanju održavanja veze je onaj koji zatvara tiket.