Một yêu cầu HTTP của Tornado chạy qua CurlAsyncHTTPClient không chứng minh rằng websocket_connect dùng cùng backend đó.

Cách triển khai kết nối WebSocket của Tornado dựa trên đường kết nối HTTP riêng của nó. Cách triển khai HTTP đơn giản ghi rõ rằng các trường proxy không được hỗ trợ. Việc cấu hình client HTTP bất đồng bộ toàn cục dùng curl không thay thế đường WebSocket này bằng trình kết nối proxy của curl.

Vì vậy, truyền một đối tượng HTTPRequest cũng không phải bằng chứng về hỗ trợ proxy. Đối tượng có thể mang các trường mà cách triển khai đã chọn không chấp nhận. Hãy kiểm tra lỗi và cách triển khai kết nối thực tế.

Nếu ứng dụng cần WebSocket qua proxy, hãy chọn một tích hợp kết nối WebSocket đã được ghi tài liệu có hỗ trợ giao thức proxy và phương thức xác thực đó. Giữ vòng đời và mô hình I/O của nó tương thích với ứng dụng.

Sau khi đường proxy được thiết lập, một WebSocket an toàn vẫn cần TLS của đích và thắt tay WebSocket của nó. Một yêu cầu HTTP thông thường hoạt động được không xác minh bất kỳ giai đoạn nào sau đó.

Bài viết liên quan