HTTP ପ୍ରକ୍ସି ମାଧ୍ୟମରେ Autobahn Twisted WSS ସଂଯୋଗ କରନ୍ତୁ
ପ୍ରକ୍ସି-ସଚେତନ ଫ୍ୟାକ୍ଟ୍ରି ପାଖରେ ସିଧାସଳଖ ଏଣ୍ଡପଏଣ୍ଟ ଖୋଲିବା ପରିବର୍ତ୍ତେ connectWS କୁ ପ୍ରକ୍ସି ଏଣ୍ଡପଏଣ୍ଟ ଏବଂ ପରବର୍ତ୍ତୀ ଗନ୍ତବ୍ୟ TLS ସମନ୍ୱୟ କରିବାକୁ ଦିଅନ୍ତୁ।
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 ପରିଚୟ ମଧ୍ୟ ଯୋଗାଏ; ଏହାକୁ ପ୍ରକ୍ସି ହୋଷ୍ଟନାମରେ ବଦଳାଇଲେ ଅଭିପ୍ରେତ ସୁରକ୍ଷିତ ସେବା ବିନ୍ୟାସ ହୁଏ ନାହିଁ।