import ssl
import urllib3

proxy_tls = ssl.create_default_context(cafile='proxy-roots.pem')
proxy_tls.load_cert_chain('proxy-client.pem', 'proxy-client.key')
origin_tls = ssl.create_default_context()

with urllib3.ProxyManager(
    'https://proxy.example:8443',
    proxy_ssl_context=proxy_tls,
    ssl_context=origin_tls,
    timeout=urllib3.Timeout(connect=5, read=15),
) as http:
    response = http.request('GET', 'https://service.example/data')

ትክክለኛዎቹን የተፈቀዱ ፋይሎች ይጠቀሙ። proxy-roots.pem አማላጁን ያረጋግጣል፤ proxy-client.pem እና ተዛማጅ የግል ቁልፉ ይህን ደንበኛ ለዚያ አማላጅ ይለያሉ። origin_tls የመዳረሻውን የተለየ የእምነት ፖሊሲ ይጠብቃል።

የፕሮክሲው ዩአርኤል https መርሃ ግብር ለዚያ የመጀመሪያ TLS ልውውጥ አስፈላጊ ነው። ለHTTPS ግብ urllib3 ከዚያ CONNECT ን በውጫዊው TLS ክፍለ ጊዜ ውስጥ ይልካል እና የዌብሳይት TLS ን በቱነሉ በኩል ያከናውናል።

ዌብሳይቱም የደንበኛ ሰርተፊኬት ከፈለገ፣ በorigin_tls ላይ ያስቀምጡት። የፕሮክሲውን ማንነት እዚያ እንደገና መጠቀም የተለየ ግንኙነትን ያረጋግጣል።

HTTPS የሚሸከም ተራ HTTP ፕሮክሲ ውጫዊ የTLS እጅ መጨበጫ የለውም። ተጨማሪ HTTP 407 እንዲሁ የተለየ ነው፦ የደንበኛ ሰርተፊኬት ማቅረብ የተጠቃሚ ስም/የመለያ ቁልፍ ምስክርነቶችን አይሰጥም።

ተዛማጅ ጽሑፎች