Stabbilixxi CONNECT qabel ma tibda l-handshake TLS ta' Asio
Uża s-saff li jmiss ta' stream SSL ta' Asio għall-iskambju HTTP sempliċi permezz tal-proxy, imbagħad ibda TLS mit-tunnel aċċettat.
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();- 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.
- 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. - 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. - 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.