A Tornado HTTP fetch working through CurlAsyncHTTPClient does not establish that websocket_connect uses that same backend.

Tornado's WebSocket connection implementation builds on its own HTTP connection path. The simple HTTP implementation documents that proxy fields are unsupported. Configuring the global asynchronous HTTP client to use curl does not replace this WebSocket path with curl's proxy connector.

Passing an HTTPRequest object is therefore not proof of proxy support either. The object can carry fields that the chosen implementation does not accept. Check the error and the actual connection implementation.

If the application requires a WebSocket through a proxy, choose a documented WebSocket connection integration supporting that proxy protocol and authentication method. Keep its lifecycle and I/O model compatible with the application.

Once the proxy path is established, a secure WebSocket still needs destination TLS and its WebSocket handshake. A working ordinary HTTP request verifies neither of those later stages.

متعلقہ مضامین