Een Tornado HTTP-verzoek via CurlAsyncHTTPClient bewijst niet dat websocket_connect dezelfde backend gebruikt.

De WebSocket-verbindingsimplementatie van Tornado bouwt op zijn eigen HTTP-verbindingspad. De eenvoudige HTTP-implementatie documenteert dat proxyvelden niet worden ondersteund. Het globale asynchrone HTTP-client configureren om curl te gebruiken vervangt dit WebSocket-pad niet door de proxy-connector van curl.

Daarom is het doorgeven van een HTTPRequest-object ook geen bewijs van proxy-ondersteuning. Het object kan velden bevatten die de gekozen implementatie niet accepteert. Controleer de fout en de feitelijke verbindingsimplementatie.

Als de toepassing een WebSocket via een proxy vereist, kies dan een gedocumenteerde WebSocket-verbindingsintegratie die dat proxyprotocol en die authenticatiemethode ondersteunt. Houd de levenscyclus en het I/O-model compatibel met de toepassing.

Zodra het proxypad is ingesteld, heeft een beveiligde WebSocket nog steeds TLS van de bestemming en zijn WebSocket-handshake nodig. Een werkend gewoon HTTP-verzoek verifieert geen van die latere fasen.

Gerelateerde artikelen