Ang serbisyong HTTPS sa port 8443 ay maaabot sa pamamagitan ng proxy na HTTP sa port 8080. Ang mga numerong ito ay naglalarawan ng magkaibang koneksyon:

$handle = curl_init('https://api.example:8443/status');
curl_setopt($handle, CURLOPT_PROXY, 'http://proxy.example:8080');
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);

Ang aplikasyon pa rin ang may hawak sa pagpapatupad, paghawak ng error at lifecycle ng handle. Pinapanatili ng snippet na magkasama ang mga input ng routing nang hindi binabago ang beripikasyon ng sertipiko.

Unang kumokonekta ang cURL sa proxy.example:8080. Para sa destinasyong HTTPS na ito, tinutukoy ng kahilingan sa tunnel ang api.example:8443, at nananatiling api.example ang pagkakakilanlang TLS.

Ang CURLOPT_PORT ay override ng port ng destinasyon, hindi ng port ng proxy. Ang pagtatakda nito sa 443 sa tuwing nagsisimula ang URL sa https ay maaaring mag-override sa serbisyong sadyang naka-host sa 8443. Inirerekomenda ng libcurl na piliin ang port sa URL sa halip na gamitin ang opsyong iyon.

Kapag ginagamit muli ang handle, isaalang-alang din ang anumang naunang tahasang override ng port. Hindi ginagawang mas madali ng bagong URL ang pagbigkas sa mga natitirang opsyong magkasalungat.

Dapat payagan ng tagapamagitan ang CONNECT sa piniling port ng destinasyon. Ang pagtanggi para sa 8443 ay hindi dahilan para ilipat ang listener ng proxy o patayin ang beripikasyong TLS.

Kaugnay na mga artikulo