ከAsio TLS እጅ መጨበጥ በፊት CONNECT ያቋቁሙ
የAsio SSL ጅረት ቀጣዩን ንብርብር ለተራው HTTP ፕሮክሲ ልውውጥ ይጠቀሙ፣ ከዚያ በተቀበለው ድንጋይ በኩል TLS ይጀምሩ።
ለssl::stream<tcp::socket> በተራ HTTP ፕሮክሲ በኩል፣ TLS ወደ መድረሻው ከመጠየቁ በፊት ጥሬ ማጓጓዣውን ይጠቀሙ፦
auto& transport = tlsStream.next_layer();- ያንን ማጓጓዣ ከፕሮክሲ አስተናጋጅና ወደብ ጋር ያገናኙ። ፕሮክሲ መረጃ ሳይዘጋጅ ለተፈቀደ የህዝብ HTTPS መድረሻ፣ የHTTP ፕሮክሲ ዝርዝር እጩ መጨረሻ ነጥቦችን ያቀርባል፤ እጩው የተጠየቀውን ድንጋይ የሚፈቅድ መሆኑን ያረጋግጡ።
- የመድረሻውን ስልጣን የሚጠቅስ CONNECT ይላኩ፣ ለምሳሌ
api.example:443፣ እና ሙሉ የምላሽ ራስጌዎችን በጥሬ ማጓጓዣው ላይ ይተንትኑ። ስኬታማ 2xx ድንጋዩን ይከፍታል፤ እምቢታ የHTTP ፕሮክሲ ምላሽ ሆኖ ይቆያል። - የመድረሻው አስተናጋጅ ስም፣ አስፈላጊው SNI፣ የመተማመኛ ስሮችና የአጋር ማረጋገጫን ያዘጋጁ፣ ከዚያ በ
tlsStreamላይ የደንበኛውን እጅ መጨበጥ ይጀምሩ። - TLS ከተሳካ በኋላ፣ ለመተግበሪያው የSSL ጅረት ንባብና ጽሑፍ ይጠቀሙ። በዚያ ነጥብ ቀጣዩን ንብርብር በቀጥታ ማንበብ የTLS ሂደትን ያስቀራል።
ማንኛውንም የHTTP ተንታኝ ትርፍ ወደ ቀጣዩ ደረጃ ያስተላልፉ። Asio የተጎራባች የተመጣጠነ-እጅ-መጨበጥ አማራጮች አሉት፤ በተንታኙ የተያዘን ጅራት መጣል ከሶኬቱ ተነተተው የነበሩ ባይቶችን ሊያጣ ይችላል።
በዚህ ቀላል ዓይነት next_layer እና lowest_layer ሁለቱም TCP ይደርሳሉ። ተጨማሪ መጠቅለያዎች እነሱን ሊለያዩ ይችላሉ፣ ስለዚህ የፕሮክሲውን ትክክለኛ ሽቦ ፕሮቶኮል የሚይዘውን በይነገጽ ይምረጡ። HTTPS ፕሮክሲ ሌላ የTLS ደረጃ ይጨምራል፣ ከዚህ ግልጽ-ጽሑፍ CONNECT ቅደም ተከተል ውጭ ነው።