የTwisted መጨረሻ ነጥብ የTCP ግንኙነቱን ያከናውናል። ፕሮክሲን ለመደራደር የተዘጋጀ የWebSocket ፋብሪካ አሁንም ወደ መካከለኛው ለመገናኘት ያንን መጨረሻ ነጥብ ይፈልጋል።

መደበኛውን አጋዥ የሚጠቀም ነባር የAutobahn መተግበሪያ ላይ፦

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 የመተግበሪያው ነባር የWebSocket ፕሮቶኮል ክፍል ነው። ሬአክተሩንና የግንኙነት ማጽዳቱን ከዚያ መተግበሪያ የሕይወት ዑደት ጋር ያስቀምጡ። በይፋዊ መካከለኛ ለሚፈቀደው ይፋዊ የWSS አገልግሎት፣ የHTTP ፕሮክሲ ዝርዝር ለፋብሪካው የፕሮክሲ አስተናጋጅና ወደብ እጩዎችን ያቀርባል።

ፕሮክሲ ለተዘጋጀው ፋብሪካ፣ connectWS በTCP ወደ ፕሮክሲው ይገናኛል እና የመድረሻውን TLS አውድ ለኋላው ደህንነቱ የተጠበቀ ግንኙነት ይይዛል። መጀመሪያ ላይ የተራውን የHTTP ፕሮክሲ ግንኙነት በመድረሻው TLS አይጠቀልም።

ብጁ የHostnameEndpointና ClientService አደረጃጀት ተመሳሳዩን ክፍፍል መጠበቅ አለበት፦ መጀመሪያ ወደ ፕሮክሲው ይገናኙ፣ ከዚያ የተዘጋጀው ፋብሪካ ዒላማውን እንዲደራደር እና የሚያስፈልገውን TLS እንዲያቋቁም ይፍቀዱ። ፋብሪካው የፕሮክሲ ውይይት ሲጠብቅ መጨረሻ ነጥቡን በቀጥታ ከevents.example ጋር ማገናኘት እነዚህን ሚናዎች ይቀላቅላል።

የWebSocket URL እውነተኛው የአገልግሎት መድረሻ ሆኖ ይቆያል። አስተናጋጅ ስሙ የTLS ማንነቱንም ይሰጣል፤ በፕሮክሲው አስተናጋጅ ስም መተካቱ የታሰበውን ደህንነቱ የተጠበቀ አገልግሎት አያዘጋጅም።

ተዛማጅ ጽሑፎች