ប្រើប្រាស់បរិបទ TLS ដាច់ដោយឡែកសម្រាប់ proxy និងគេហទំព័ររបស់ urllib3
ផ្ទុកវិញ្ញាបនបត្រអតិថិជនរបស់ proxy HTTPS ក្នុង proxy_ssl_context ដោយទុកទុកចិត្តគោលដៅ និងអត្តសញ្ញាណអតិថិជនគោលដៅណាមួយនៅលើ ssl_context។
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 នៃ URL proxy គឺចាំបាច់សម្រាប់ ការផ្លាស់ប្តូរ TLS ដំបូង នោះ។ សម្រាប់គោលដៅ HTTPS urllib3 បន្ទាប់មកផ្ញើ CONNECT នៅក្នុងសម័យ TLS ខាងក្រៅ ហើយអនុវត្ត TLS គេហទំព័រតាមរយៈផ្លូវរូងក្រោមដី។
ប្រសិនបើគេហទំព័រក៏ត្រូវការវិញ្ញាបនបត្រអតិថិជនដែរ សូមដាក់វានៅលើ origin_tls។ ការប្រើអត្តសញ្ញាណ proxy ឡើងវិញនៅទីនោះនឹងផ្ទៀងផ្ទាត់ការតភ្ជាប់ផ្សេង។
proxy HTTP ធម្មតាដែលផ្ទុក HTTPS មិនមានការចាប់ដៃ TLS ខាងក្រៅទេ។ HTTP 407 បន្ថែមក៏ដាច់ដោយឡែកដែរ៖ ការផ្តល់វិញ្ញាបនបត្រអតិថិជនមិនផ្តល់ព័ត៌មានសម្គាល់ឈ្មោះអ្នកប្រើ/ពាក្យសម្ងាត់ទេ។