Kwa ssl::stream<tcp::socket> kupitia proxy ya kawaida ya HTTP, tumia kwanza usafirishaji wake mbichi kabla ya kuutaka ufanye TLS ya lengwa:

auto& transport = tlsStream.next_layer();
  1. Unganisha usafirishaji huo kwenye hosti na bandari ya proxy. Iwapo lengwa la umma la HTTPS linaruhusiwa na vitambulisho vya proxy havijasanidiwa, orodha ya proxy za HTTP hutoa vituo vinavyofaa; hakikisha mteule anaruhusu handaki inayohitajika.
  2. Tuma CONNECT ikitaja authority ya lengwa, kama vile api.example:443, na changanua vichwa kamili vya jibu kwenye usafirishaji wa kawaida. 2xx iliyofanikiwa hufungua handaki; kukataa hubaki jibu la proxy ya HTTP.
  3. Sanidi jina la hosti ya lengwa, SNI inayohitajika, mizizi ya uaminifu na uthibitishaji wa peer, kisha anza handshake ya mteja kwenye tlsStream.
  4. Baada ya TLS kufanikiwa, tumia usomaji na uandishi wa mtiririko wa SSL kwa programu. Kusoma tabaka la chini moja kwa moja wakati huo hukwepa uchakataji wa TLS.

Chukua mabaki yoyote ya kichanganuzi cha HTTP hadi hatua inayofuata. Asio ina upakiaji wa handshake wenye buffer; kutupa mkia unaomilikiwa na kichanganuzi kunaweza kupoteza baiti zilizokwisha kusomwa kutoka kwenye socket.

Kwa aina hii rahisi, next_layer na lowest_layer zote hufikia TCP. Vifuniko zaidi vinaweza kuzitofautisha, kwa hiyo chagua kiolesura kinachobeba itifaki halisi ya waya ya proxy. Proxy ya HTTPS huongeza hatua nyingine ya TLS na haiko ndani ya mfululizo huu wa CONNECT wa maandishi wazi.

Makala zinazohusiana