Tornado websocket_connect 并不使用 CurlAsyncHTTPClient
独立于启用代理的 CurlAsyncHTTPClient 配置,检查 Tornado 的 WebSocket 连接支持。
通过 CurlAsyncHTTPClient 完成的 Tornado HTTP 请求,并不能证明 websocket_connect 使用了同一个后端。
Tornado 的 WebSocket 连接实现建立在自己的 HTTP 连接路径之上。简单的 HTTP 实现明确说明不支持代理字段。把全局异步 HTTP 客户端配置为使用 curl,并不会用 curl 的代理连接器替换这条 WebSocket 路径。
因此,传入 HTTPRequest 对象同样不是支持代理的证明。该对象可能携带所选实现并不接受的字段。请检查报错以及实际的连接实现。
如果应用需要通过代理使用 WebSocket,请选择有文档说明、支持该代理协议和认证方式的 WebSocket 连接集成。保持其生命周期和 I/O 模型与应用兼容。
代理路径建立之后,安全 WebSocket 仍然需要目标端的 TLS 及其 WebSocket 握手。一次能正常工作的普通 HTTP 请求无法验证这些后续阶段中的任何一个。