Una petición HTTP de Tornado que funciona mediante CurlAsyncHTTPClient no demuestra que websocket_connect use ese mismo backend.

La implementación de conexiones WebSocket de Tornado se basa en su propia ruta de conexión HTTP. La implementación HTTP simple documenta que los campos de proxy no son compatibles. Configurar el cliente HTTP asíncrono global para usar curl no sustituye esta ruta WebSocket por el conector de proxy de curl.

Por tanto, pasar un objeto HTTPRequest tampoco es prueba de compatibilidad con proxy. El objeto puede llevar campos que la implementación elegida no acepta. Compruebe el error y la implementación real de la conexión.

Si la aplicación necesita un WebSocket a través de un proxy, elija una integración documentada de conexión WebSocket que admita ese protocolo de proxy y ese método de autenticación. Mantenga su ciclo de vida y su modelo de E/S compatibles con la aplicación.

Una vez establecida la ruta del proxy, un WebSocket seguro sigue necesitando el TLS de destino y su handshake WebSocket. Una petición HTTP ordinaria que funcione no verifica ninguna de esas etapas posteriores.

Artículos relacionados