cURL tarpinio serverio prievadas ir tikslo prievadas
Laikykite HTTPS paslaugos prievadą jos tikslo URL, o tarpininko prievadą – tarpinio serverio URL, neperrašydami jų per CURLOPT_PORT.
HTTPS paslauga, veikianti 8443 prievade, pasiekiama per HTTP tarpinį serverį, veikiantį 8080 prievade. Šie skaičiai apibūdina skirtingus ryšius:
$handle = curl_init('https://api.example:8443/status');
curl_setopt($handle, CURLOPT_PROXY, 'http://proxy.example:8080');
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
Programa ir toliau atsako už vykdymą, klaidų tvarkymą ir rankenos gyvavimo ciklą. Iškarpa laiko maršrutizavimo įvestis kartu, nekeisdama sertifikato patikros.
cURL pirmiausia prisijungia prie proxy.example:8080. Šiam HTTPS tikslui tunelio užklausa nurodo api.example:8443, o TLS tapatybė lieka api.example.
CURLOPT_PORT yra tikslo prievado perrašymas, o ne tarpinio serverio prievadas. Nustačius jį į 443 kaskart, kai URL prasideda https, galima perrašyti paslaugą, tyčia talpinamą 8443 prievade. libcurl rekomenduoja pasirinkti prievadą URL, o ne naudoti šią parinktį.
Naudodami rankeną pakartotinai, atsižvelkite ir į ankstesnį aiškų prievado perrašymą. Naujas URL nepalengvina prieštaringų išsaugotų parinkčių aiškinimo.
Tarpininkas turi leisti CONNECT į pasirinktą tikslo prievadą. Atsisakymas dėl 8443 nėra priežastis perkelti tarpinio serverio klausytoją ar išjungti TLS patikrą.