Ein Tornado-HTTP-Abruf über CurlAsyncHTTPClient belegt nicht, dass websocket_connect dasselbe Backend verwendet.

Die WebSocket-Verbindungsimplementierung von Tornado baut auf einem eigenen HTTP-Verbindungspfad auf. Die einfache HTTP-Implementierung dokumentiert, dass Proxy-Felder nicht unterstützt werden. Die Konfiguration des globalen asynchronen HTTP-Clients auf curl ersetzt diesen WebSocket-Pfad nicht durch curls Proxy-Konnektor.

Daher ist auch die Übergabe eines HTTPRequest-Objekts kein Nachweis für Proxy-Unterstützung. Das Objekt kann Felder tragen, die die gewählte Implementierung nicht akzeptiert. Prüfen Sie den Fehler und die tatsächliche Verbindungsimplementierung.

Wenn die Anwendung ein WebSocket über einen Proxy benötigt, wählen Sie eine dokumentierte WebSocket-Verbindungsintegration, die dieses Proxy-Protokoll und diese Authentifizierungsmethode unterstützt. Halten Sie deren Lebenszyklus und E/A-Modell mit der Anwendung kompatibel.

Sobald der Proxy-Pfad hergestellt ist, benötigt ein sicheres WebSocket weiterhin das TLS des Ziels und seinen WebSocket-Handshake. Eine funktionierende gewöhnliche HTTP-Anfrage verifiziert keinen dieser späteren Schritte.

Ähnliche Artikel