Sungula i-CONNECT ngaphambi kokuqala ukuxhawana kwe-TLS ye-Asio
Sebenzisa ungqimba olungezansi lomfudlana we-SSL we-Asio ekushintshaneni nge-proxy evamile ye-HTTP, bese uqala i-TLS ngomhubhe owamukelwe.
Nge-ssl::stream<tcp::socket> ngokusebenzisa i-proxy evamile ye-HTTP, qala usebenzise ukuthutha kwayo okungahluziwe ngaphambi kokuyala ukuthi yenze i-TLS yendawo:
auto& transport = tlsStream.next_layer();
- Xhuma lokho kuthutha ku-host ne-port ye-proxy. Uma indawo yomphakathi ye-HTTPS evunyelwe ingenazo iziqinisekiso ze-proxy ezilungisiwe, uhlu lwe-proxy ye-HTTP lunikeza izindawo zokugcina ezingaba khona; hlola ukuthi ozokhethwa uvumela yini umhubhe oceliwe.
- Thumela i-CONNECT ekhombisa i-authority yendawo, njenge-
api.example:443, futhi uhlaziye izihloko zimpendulo ezigcwele kukho ukuthutha okulula. I-2xx ephumelelayo ivula umhubhe; ukwenqaba kuhlala kuyimpendulo ye-proxy ye-HTTP. - Lungisa igama le-host yendawo, i-SNI edingekayo, izimpande zokuthembela nokuqinisekiswa kwe-peer, bese uqala ukuxhawana komxhasi ku-
tlsStream. - Ngemva kokuphumelela kwe-TLS, sebenzisa ukufunda nokubhala ngomfudlana we-SSL wohlelo lokusebenza. Ukufunda ungqimba olungezansi ngqo ngaleso sikhathi kudlula ukucutshungulwa kwe-TLS.
Yisa noma yikuphi okusele kwesihlukanisi se-HTTP esigabeni esilandelayo. I-Asio inezinto ezingaphezulu zokuxhawana ezinamabhafa; ukulahla umsila ophethwe isihlukanisi kungalahlekelwa amabhayithi asevele afundiwe kusokhethi.
Kulolu hlobo olulula, i-next_layer ne-lowest_layer zombili zifinyelela ku-TCP. Izembozo ezengeziwe zingazenza zehluke, ngakho khetha isixhumanisi esithwala iphrothokholo yangempela yocingo ye-proxy. I-proxy ye-HTTPS yengeza esinye isigaba se-TLS futhi ayikho kulolu landelwano lwe-CONNECT lombhalo ocacile.