HTTP-запрос Tornado, работающий через CurlAsyncHTTPClient, не доказывает, что websocket_connect использует тот же backend.

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

Поэтому и передача объекта HTTPRequest не является доказательством поддержки прокси. Объект может нести поля, которые выбранная реализация не принимает. Проверьте ошибку и фактическую реализацию соединения.

Если приложению нужен WebSocket через прокси, выберите документированную интеграцию WebSocket-соединения, поддерживающую этот прокси-протокол и метод аутентификации. Сохраняйте её жизненный цикл и модель ввода-вывода совместимыми с приложением.

После установления пути через прокси защищённому WebSocket всё ещё нужны TLS конечного узла и его WebSocket-рукопожатие. Работающий обычный HTTP-запрос не проверяет ни один из этих последующих этапов.

Похожие статьи