Kafa CONNECT kafin fara musafaha na Asio TLS
Yi amfani da layer na gaba na Asio SSL stream don musayar HTTP ta proxy, sannan fara TLS ta hanyar tunnel da aka karɓa.
Don ssl::stream<tcp::socket> ta hanyar proxy na HTTP na yau da kullum, yi amfani da jigilar sa ta danye kafin ka nemi ta yi TLS zuwa manufa:
auto& transport = tlsStream.next_layer();- Haɗa wannan jigila da host da tashar proxy. Don halaltacciyar manufar HTTPS ta jama'a ba tare da an saita bayanan shaidar proxy ba, jerin proxy na HTTP yana ba da wuraren ƙarshe na ƴan takara; tabbatar cewa ɗan takarar ya yarda da tunnel ɗin da aka nema.
- Aika CONNECT tare da ambaton authority na manufa, kamar
api.example:443, kuma yi nazarin cikakkun kanun amsa a kan jigilar danye. 2xx mai nasara yana buɗe tunnel ɗin; ƙin yarda ya kasance amsar proxy na HTTP. - Saita sunan host na manufa, SNI da ake buƙata, tushen amincewa da tabbatarwar abokin haɗin gwiwa, sannan fara musafahar abokin ciniki a kan
tlsStream. - Bayan TLS ya yi nasara, yi amfani da karatu da rubutu na SSL stream don aikace-aikacen. Karanta layer na gaba kai tsaye a wannan lokacin yana tsallake aikin TLS.
Ka ɗauki duk wani ragi na mai nazarin HTTP zuwa mataki na gaba. Asio yana da nauyin musafaha da aka tanada; watsar da wutsiya mallakar mai nazari na iya rasa bytes da aka riga aka karanta daga soket ɗin.
Da wannan sauƙi nau'i, next_layer da lowest_layer duka suna isa TCP. Ƙarin nade-nade na iya bambanta su, don haka zaɓi interface ɗin da ke ɗauke da ainihin ka'idar waya ta proxy. Proxy na HTTPS yana ƙara wani matakin TLS kuma yana waje da wannan jerin CONNECT na rubutu bayyananne.