Għal ssl::stream<tcp::socket> permezz ta' proxy HTTP ordinarju, uża t-trasport mhux ipproċessat tiegħu qabel ma titolbu jagħmel TLS lejn id-destinazzjoni:

auto& transport = tlsStream.next_layer();
  1. Qabbad dak it-trasport mal-host u l-port tal-proxy. Għal destinazzjoni HTTPS pubblika permessa mingħajr kredenzjali tal-proxy konfigurati, il-lista tal-proxy HTTP toffri punti tat-tmiem kandidati; iċċekkja li l-kandidat jippermetti t-tunnel mitlub.
  2. Ibgħat CONNECT billi ssemmi l-authority tad-destinazzjoni, bħal api.example:443, u analizza l-intestaturi kollha tar-risposta fuq it-trasport mhux ipproċessat. 2xx b'suċċess jiftaħ it-tunnel; ċaħda tibqa' risposta tal-proxy HTTP.
  3. Ikkonfigura l-isem tal-host tad-destinazzjoni, is-SNI meħtieġa, l-għeruq tal-fiduċja u l-verifika tal-pari, imbagħad ibda l-handshake tal-klijent fuq tlsStream.
  4. Wara li TLS jirnexxi, uża qari u kitba tal-istream SSL għall-applikazzjoni. Li taqra s-saff li jmiss direttament f'dak il-mument jevita l-ipproċessar TLS.

Ġib kwalunkwe eċċess tal-parser HTTP fl-istadju li jmiss. Asio għandu overloads tal-handshake bil-buffer; it-tarmi ta' denb li jappartjeni lill-parser jista' jitlef bytes li diġà nqraw mis-socket.

B'dan it-tip sempliċi, kemm next_layer kif ukoll lowest_layer jilħqu TCP. Aktar wrappers jistgħu jagħmluhom differenti, għalhekk agħżel l-interface li ġġorr il-protokoll tal-wire reali tal-proxy. Proxy HTTPS iżid stadju TLS ieħor u jinsab barra minn din is-sekwenza CONNECT f'tekst sempliċi.

Artikli relatati