Cleachd co-theacsan TLS air leth airson proxy agus làrach-lìn urllib3
Luchdaich teisteanas cliant a phroxy HTTPS ann an proxy_ssl_context, a fàgail earbsa a chinn-uidhe agus fèiniulachd cliaint sam bith a chinn-uidhe air 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')Cleachd na faidhlichean ceadaichte fìor. Tha proxy-roots.pem a dearbhadh an eadragana; tha proxy-client.pem agus an iuchair phrìobhaideach cho-fhreagarrach aige ag aithneachadh a chliant seo don eadragan sin. Tha origin_tls a gleidheadh poileasaidh earbsa air leth a chinn-uidhe.
Tha sgeama https URL a phroxy riatanach airson na chiad iomlaid TLS sin. Airson targaid HTTPS, bidh urllib3 an uair sin a cur CONNECT taobh a-staigh an t-seisein TLS a-muigh agus a dèanamh TLS an làraich-lìn tron tunail.
Ma dh fheumas an làrach-lìn teisteanas cliant cuideachd, cuir air origin_tls e. Dh aithnicheadh ath-chleachdadh fèiniulachd a phroxy an sin ceangal eadar-dhealaichte.
Chan eil crathadh-làimhe TLS a-muigh aig proxy HTTP àbhaisteach a bhios a giùlan HTTPS. Tha 407 HTTP a bharrachd air leth cuideachd: chan eil teisteanas cliant a toirt seachad teisteanasan ainm-cleachdaiche/facal-faire.