Ένα αίτημα HTTP του Tornado που λειτουργεί μέσω CurlAsyncHTTPClient δεν αποδεικνύει ότι το websocket_connect χρησιμοποιεί το ίδιο backend.

Η υλοποίηση σύνδεσης WebSocket του Tornado βασίζεται στη δική της διαδρομή σύνδεσης HTTP. Η απλή υλοποίηση HTTP τεκμηριώνει ότι τα πεδία proxy δεν υποστηρίζονται. Η ρύθμιση του καθολικού ασύγχρονου HTTP client ώστε να χρησιμοποιεί το curl δεν αντικαθιστά αυτή τη διαδρομή WebSocket με τον σύνδεσμο proxy του curl.

Επομένως, η μετάβαση ενός αντικειμένου HTTPRequest δεν αποτελεί απόδειξη υποστήριξης proxy. Το αντικείμενο μπορεί να φέρει πεδία που η επιλεγμένη υλοποίηση δεν δέχεται. Ελέγξτε το σφάλμα και την πραγματική υλοποίηση της σύνδεσης.

Αν η εφαρμογή απαιτεί WebSocket μέσω proxy, επιλέξτε μια τεκμηριωμένη ενσωμάτωση σύνδεσης WebSocket που υποστηρίζει αυτό το πρωτόκολλο proxy και τη μέθοδο ελέγχου ταυτότητας. Διατηρήστε τον κύκλο ζωής και το μοντέλο I/O της συμβατά με την εφαρμογή.

Μόλις καθιερωθεί η διαδρομή proxy, ένα ασφαλές WebSocket χρειάζεται ακόμη TLS προορισμού και τη χειραψία WebSocket. Ένα λειτουργικό συνηθισμένο αίτημα HTTP δεν επαληθεύει κανένα από αυτά τα μεταγενέστερα στάδια.

Σχετικά άρθρα