Porto do proxy fronte ao porto de destino en cURL
Manteña o porto dun servizo HTTPS na súa URL de destino e o porto do intermediario na URL do proxy, sen sobrescribilos mediante CURLOPT_PORT.
Pódese acceder a un servizo HTTPS no porto 8443 a través dun proxy HTTP no porto 8080. Eses números describen conexións distintas:
$handle = curl_init('https://api.example:8443/status');
curl_setopt($handle, CURLOPT_PROXY, 'http://proxy.example:8080');
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
A aplicación segue a cargo da execución, do tratamento de erros e do ciclo de vida do identificador. O fragmento mantén xuntos os parámetros de enrutamento sen cambiar a verificación do certificado.
cURL conéctase primeiro a proxy.example:8080. Para este destino HTTPS, a solicitude de túnel indica api.example:8443 e a identidade TLS segue a ser api.example.
CURLOPT_PORT sobrescribe o porto de destino, non o do proxy. Fixalo en 443 cada vez que unha URL comeza por https pode sobrescribir un servizo aloxado deliberadamente en 8443. libcurl recomenda escoller o porto na URL en lugar de usar esa opción.
Ao reutilizar un identificador, teña en conta tamén calquera sobrescritura explícita de porto anterior. Unha URL nova non facilita a interpretación de opcións retidas contraditorias.
O intermediario debe permitir CONNECT ao porto de destino escollido. Un rexeitamento para 8443 non é motivo para mover o oínte do proxy nin desactivar a validación TLS.