HTTP-запит Tornado, що працює через CurlAsyncHTTPClient, не доводить, що websocket_connect використовує той самий backend.

Реалізація WebSocket-з'єднання в Tornado будується на власному шляху HTTP-з'єднання. Проста реалізація HTTP документує, що поля проксі не підтримуються. Налаштування глобального асинхронного HTTP-клієнта на використання curl не замінює цей шлях WebSocket проксі-конектором curl.

Тому й передавання об'єкта HTTPRequest не є доказом підтримки проксі. Об'єкт може нести поля, які обрана реалізація не приймає. Перевірте помилку та фактичну реалізацію з'єднання.

Якщо застосунку потрібен WebSocket через проксі, виберіть задокументовану інтеграцію WebSocket-з'єднання, що підтримує цей проксі-протокол і метод автентифікації. Зберігайте її життєвий цикл і модель вводу-виводу сумісними із застосунком.

Після встановлення шляху через проксі захищеному WebSocket усе ще потрібні TLS кінцевого вузла та його WebSocket-рукостискання. Робочий звичайний HTTP-запит не перевіряє жодного з цих пізніших етапів.

Схожі статті