Samee CONNECT ka hor intaadan bilaabin gacan-qaadka TLS ee Asio
Isticmaal lakabka hoose ee qulqulka SSL ee Asio ee is-weydaarsiga proxy HTTP caadi ah, ka dibna bilow TLS iyada oo loo marayo tunnelka la aqbalay.
ssl::stream<tcp::socket> oo maraya proxy HTTP caadi ah, marka hore isticmaal gaadiidkiisa ceyriin ka hor intaadan ka codsan TLS-ka meesha loo socdo:
auto& transport = tlsStream.next_layer();
- Ku xir gaadiidkaas hostka iyo dekedda proxy-ga. Marka bartilmaameedka HTTPS ee dadweynaha la ogolaaday oo aan la habaynin aqoonsiga proxy-ga, liiska proxy HTTP wuxuu bixiyaa goobo musharrax ah; hubi in musharraxu uu ogolaado tunnelka la codsaday.
- Dir CONNECT oo sheegaya authority-ga bartilmaameedka, tusaale
api.example:443, oo falanqee madaxyada jawaabta oo dhan ee gaadiidka cad. 2xx guuleystay wuxuu furaa tunnelka; diidmu wuxuu weli yahay jawaab proxy HTTP. - Habee magaca hostka bartilmaameedka, SNI loo baahan yahay, xididdada kalsoonida iyo xaqiijinta peer, ka dibna bilow gacan-qaadka macmiilka ee
tlsStream. - Marka TLS guuleysto, u isticmaal akhrinta iyo qorista qulqulka SSL ee barnaamijka. Akhrinta lakabka hoose si toos ah wakhtigaas waxay dhaafisaa habaynta TLS.
U gudbi hadhaaga kasta ee falanqeeyaha HTTP marxaladda xigta. Asio waxay leedahay culaysyo gacan-qaad oo buffer leh; tuurista dabada uu falanqeeyuhu leeyahay waxay lumin kartaa baytijiska hore looga akhriyay socket-ka.
Noocan fudud, next_layer iyo lowest_layer labaduba waxay gaaraan TCP. Dahaarado badan ayaa kala duwi kara, sidaas darteed dooro is-dhexgalka qaada borotokoolka dhabta ah ee proxy-ga. Proxy HTTPS wuxuu ku darayaa marxalad TLS kale oo ka baxsan taxanahan CONNECT ee qoraal cad.