Knýt Autobahn Twisted WSS gjøgnum ein HTTP-proxy
Lat connectWS samskipa proxy-endapunt og seinni TLS til málamyndar í staðin fyri at opna ein beinan endapunt við síðuna av eini proxy-vitandi verksmiðju.
Ein Twisted-endapuntur ger TCP-sambandið. Ein WebSocket-verksmiðja, sum er sett upp at samráðast um eina proxy, tørvar enn tann endapuntin at knýta til millumliðin.
Fyri eina verandi Autobahn-orku, sum brúkar sín vanliga hjálpara:
from autobahn.twisted.websocket import WebSocketClientFactory, connectWS
from twisted.internet import ssl
factory = WebSocketClientFactory(
'wss://events.example/channel',
proxy={'host': 'proxy.example', 'port': 8080},
)
factory.protocol = ApplicationProtocol
connector = connectWS(
factory,
contextFactory=ssl.optionsForClientTLS('events.example'),
timeout=10,
)
ApplicationProtocol er verandi WebSocket-protokollklassan hjá orkuni. Halt reaktorin og ruddningina av sambandinum innan fyri lívsskeiðið hjá tí orkuni. Fyri eina almenna WSS-tænastu, sum er loyvd gjøgnum ein almennan millumlið, veitir HTTP-proxy-listin evnar til proxy-vert og -port hjá verksmiðjuni.
Fyri eina verksmiðju, sum er sett upp við proxy, knýtir connectWS TCP til proxyina og varðveitir TLS-samanheng málamyndar fyri seinni tryggu sambandinum. Tað pakkar ikki fyrst vanliga HTTP-proxy-sambandið inn í TLS málamyndar.
Ein serstøk skipan av HostnameEndpoint og ClientService má varðveita somu býti: knýt fyrst til proxyina, lat so ta uppsettu verksmiðjuna samráðast um málið og stovna tað neyðugu TLS. At knýta endapuntin beint til events.example, meðan verksmiðjan væntar eina proxy-samrøðu, blandar hesi leiklutirnar.
WebSocket-URL'in verður veruligi málamyndur tænastunnar. Vertsmennin hjá tí veitir eisini TLS-identitetin; at skifta hann út við proxyns vertsmenn stillir ikki ta ætlaðu tryggu tænastuna.