Το WebSocket 1006 δεν λέει ποιος κρίκος έσπασε
Διαβάστε το μη φυσιολογικό κλείσιμο του WebSocket ως έλλειψη απόδειξης Close handshake και μετά εντοπίστε αν απέτυχε η ρύθμιση του proxy ή μια υπάρχουσα συνεδρία.
Ο κωδικός 1006 του WebSocket δηλώνει μη φυσιολογικό κλείσιμο χωρίς το αναμενόμενο πλαίσιο Close. Είναι δεσμευμένος: ένα άκρο δεν πρέπει να στέλνει 1006 ως κατάσταση σε πλαίσιο Close του WebSocket. Το να τον δείτε σε συμβάν API δεν είναι μήνυμα του διακομιστή που ονομάζει το proxy ως αιτία.
Αν η σύνδεση δεν άνοιξε ποτέ
Ακολουθήστε τη ρύθμιση με σειρά: σύνδεση με το proxy, διαπραγμάτευση proxy, TLS προορισμού για WSS και μετά η χειραψία ανοίγματος WebSocket. Μια πρόκληση proxy ή μια απόρριψη τούνελ μπορεί να σταματήσει την ακολουθία πριν από το στάδιο WebSocket.
Αν άνοιξε και μετέφερε μηνύματα
Καταγράψτε τη χρήσιμη διάρκεια και τι συνέβη πριν από το κλείσιμο. Διακοπή μεταφοράς, τερματισμός εφαρμογής και πολιτική ενδιάμεσου μπορούν να αφήσουν τον παραλήπτη χωρίς καθαρή ανταλλαγή κλεισίματος.
Διατηρήστε το άκρο, το αναγνωριστικό συνεδρίας, την τελευταία δραστηριότητα και αν παρατηρήθηκε κανονικό πλαίσιο Close. Συγκρίνετε τα σφάλματα δικτύου του προγράμματος περιήγησης ή της βιβλιοθήκης με αρχεία καταγραφής προορισμού που ελέγχετε. Μόνο ο κωδικός συμβάντος δεν μπορεί να υποδείξει τον πάροχο, τον χειριστή του proxy ή τον διακομιστή εφαρμογής ως πηγή.
Μια κανονική σελίδα HTTPS μέσω του ίδιου proxy ελέγχει μια σύντομη ανταλλαγή, όχι τη διάρκεια αυτής της συνεδρίας. Κρατήστε σταθερή την κατάσταση του προγράμματος περιήγησης και τον κώδικα της εφαρμογής όταν αλλάζετε διαδρομή· αλλιώς μια επιτυχής επανάληψη είναι δύσκολο να ερμηνευτεί.
Επιδιορθώστε το όριο που υποστηρίζουν τα στοιχεία. Ο έλεγχος ταυτότητας proxy, η εμπιστοσύνη TLS και η επανασύνδεση της εφαρμογής είναι ξεχωριστές εργασίες, και η αύξηση όλων των χρονικών ορίων δεν μπορεί να κάνει το 1006 να υποδείξει ένα από αυτά.