ለssl::stream<tcp::socket> በተራ HTTP ፕሮክሲ በኩል፣ TLS ወደ መድረሻው ከመጠየቁ በፊት ጥሬ ማጓጓዣውን ይጠቀሙ፦

auto& transport = tlsStream.next_layer();
  1. ያንን ማጓጓዣ ከፕሮክሲ አስተናጋጅና ወደብ ጋር ያገናኙ። ፕሮክሲ መረጃ ሳይዘጋጅ ለተፈቀደ የህዝብ HTTPS መድረሻ፣ የHTTP ፕሮክሲ ዝርዝር እጩ መጨረሻ ነጥቦችን ያቀርባል፤ እጩው የተጠየቀውን ድንጋይ የሚፈቅድ መሆኑን ያረጋግጡ።
  2. የመድረሻውን ስልጣን የሚጠቅስ CONNECT ይላኩ፣ ለምሳሌ api.example:443፣ እና ሙሉ የምላሽ ራስጌዎችን በጥሬ ማጓጓዣው ላይ ይተንትኑ። ስኬታማ 2xx ድንጋዩን ይከፍታል፤ እምቢታ የHTTP ፕሮክሲ ምላሽ ሆኖ ይቆያል።
  3. የመድረሻው አስተናጋጅ ስም፣ አስፈላጊው SNI፣ የመተማመኛ ስሮችና የአጋር ማረጋገጫን ያዘጋጁ፣ ከዚያ በtlsStream ላይ የደንበኛውን እጅ መጨበጥ ይጀምሩ።
  4. TLS ከተሳካ በኋላ፣ ለመተግበሪያው የSSL ጅረት ንባብና ጽሑፍ ይጠቀሙ። በዚያ ነጥብ ቀጣዩን ንብርብር በቀጥታ ማንበብ የTLS ሂደትን ያስቀራል።

ማንኛውንም የHTTP ተንታኝ ትርፍ ወደ ቀጣዩ ደረጃ ያስተላልፉ። Asio የተጎራባች የተመጣጠነ-እጅ-መጨበጥ አማራጮች አሉት፤ በተንታኙ የተያዘን ጅራት መጣል ከሶኬቱ ተነተተው የነበሩ ባይቶችን ሊያጣ ይችላል።

በዚህ ቀላል ዓይነት next_layer እና lowest_layer ሁለቱም TCP ይደርሳሉ። ተጨማሪ መጠቅለያዎች እነሱን ሊለያዩ ይችላሉ፣ ስለዚህ የፕሮክሲውን ትክክለኛ ሽቦ ፕሮቶኮል የሚይዘውን በይነገጽ ይምረጡ። HTTPS ፕሮክሲ ሌላ የTLS ደረጃ ይጨምራል፣ ከዚህ ግልጽ-ጽሑፍ CONNECT ቅደም ተከተል ውጭ ነው።

ተዛማጅ ጽሑፎች