Stranica chata se učitava, ali živa veza ne radi: gdje tražiti
Stranica i chat transport različiti su zahtjevi. Ispitajte WebSocket, tok događaja ili dugo anketiranje, pa odvojite 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 crta 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. Promatrajte ih redom i odgovor je obično vidljiv u prve dvije minute.
Pronađite zahtjev koji nosi poruke
Filtrirajte po vrsti kad se stranica smiri: WebSocket se pojavljuje kao vlastiti zapis, tok događaja ostaje otvoren s rastućim odgovorom, a dugo anketiranje ponavlja se u redovitom intervalu. Zabilježite shemu, host, port i status za onaj koji nosi ažuriranja. Zabilježite je li počeo prije ili poslije prijave, jer transport otvoren prije autentifikacije obično je drugačijeg dizajna 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 zapis posve 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 debugirate 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 dotaknete profil, jer tri vremena upućuju na različite slojeve. Ako se rukovanje nikada ne završi, usporedite 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, promatrajte okvire ili tijelo toka dok netko s drugog računa šalje testnu poruku. Ako radi pa stane, zabiljež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 zasebno odredište
Chat pozadine često žive na vlastitom imenu hosta, ponekad na drugom portu ili iza zasebnog 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 popis odredišta, ne sigurnosne provjere
Popravljanje popisa odredišta je promjena usmjeravanja i pripada onome tko posjeduje rutu. Popuštanje provjere certifikata ili uklanjanje Origin zaglavlja sigurnosna je promjena i pripada onome tko posjeduje politiku, a to je rijetko osoba koja debugira tiket. Najbrži način da se veza pojavi obično je najbrži način da incident postane moguć.
Pitajte vlasnika aplikacije koje izvore pozadina prihvaća prije nego išta promijenite, i prenesite taj odgovor onome tko kontrolira proxy. Ako se greška certifikata pojavljuje samo kroz tunel, pregledajte uređaj koji presreće umjesto da instalirate zaobilaznicu.
Zabilježite dovoljno za predaju
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 svatko tko pročita može ponoviti test bez šest pitanja. Redigirajte kolačiće, zaglavlja autorizacije i tijela poruka, i radije priložite snimku zaslona stupca 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 što 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.