Egy 8443-as porton futó HTTPS-szolgáltatás 8080-as porton futó HTTP-proxyn keresztül érhető el. Ezek a számok különböző kapcsolatokat írnak le:

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

A végrehajtás, a hibakezelés és a handle életciklusa továbbra is az alkalmazás felelőssége. A kódrészlet együtt tartja az útválasztási bemeneteket, anélkül hogy módosítaná a tanúsítvány ellenőrzését.

A cURL először a proxy.example:8080-hoz csatlakozik. Ennél az HTTPS-célnál az alagútkérelem az api.example:8443 nevet adja meg, a TLS-identitás pedig api.example marad.

A CURLOPT_PORT a célport felülírása, nem a proxy portja. Ha minden https-sel kezdődő URL esetén 443-ra állítja, felülírhat egy szándékosan 8443-on futó szolgáltatást. A libcurl azt javasolja, hogy a portot az URL-ben válassza ki, ne ezt az opciót használja.

A handle újrafelhasználásakor számoljon egy korábbi kifejezett portfelülírással is. Egy új URL nem teszi könnyebben értelmezhetővé az egymásnak ellentmondó, megtartott opciókat.

A közvetítőnek engedélyeznie kell a CONNECT-et a kiválasztott célportra. A 8443-as port elutasítása nem ok a proxyfigyelő áthelyezésére vagy a TLS-ellenőrzés kikapcsolására.

Kapcsolódó cikkek