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();
  1. 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.
  2. 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.
  3. Habee magaca hostka bartilmaameedka, SNI loo baahan yahay, xididdada kalsoonida iyo xaqiijinta peer, ka dibna bilow gacan-qaadka macmiilka ee tlsStream.
  4. 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.

Maqaallo la xiriira