Tornado websocket_connect не использует CurlAsyncHTTPClient
Проверьте поддержку WebSocket-соединений в Tornado независимо от конфигурации CurlAsyncHTTPClient с включённым прокси.
HTTP-запрос Tornado, работающий через CurlAsyncHTTPClient, не доказывает, что websocket_connect использует тот же backend.
Реализация WebSocket-соединения в Tornado строится на собственном пути HTTP-соединения. Простая реализация HTTP документирует, что поля прокси не поддерживаются. Настройка глобального асинхронного HTTP-клиента на использование curl не заменяет этот путь WebSocket прокси-коннектором curl.
Поэтому и передача объекта HTTPRequest не является доказательством поддержки прокси. Объект может нести поля, которые выбранная реализация не принимает. Проверьте ошибку и фактическую реализацию соединения.
Если приложению нужен WebSocket через прокси, выберите документированную интеграцию WebSocket-соединения, поддерживающую этот прокси-протокол и метод аутентификации. Сохраняйте её жизненный цикл и модель ввода-вывода совместимыми с приложением.
После установления пути через прокси защищённому WebSocket всё ещё нужны TLS конечного узла и его WebSocket-рукопожатие. Работающий обычный HTTP-запрос не проверяет ни один из этих последующих этапов.