En HTTPS-tjeneste på port 8443 kan nås via en HTTP-proxy på port 8080. Disse tal beskriver forskellige forbindelser:

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

Programmet styr stadig udførelsen, fejlhåndteringen og håndtagets livscyklus. Uddraget holder routing-input sammen uden at ændre certifikatvalideringen.

cURL opretter først forbindelse til proxy.example:8080. For denne HTTPS-destination angiver tunnelanmodningen api.example:8443, og TLS-identiteten forbliver api.example.

CURLOPT_PORT er en tilsidesættelse af destinationsporten, ikke af proxyens port. Hvis den sættes til 443, hver gang en URL begynder med https, kan den tilsidesætte en tjeneste, der bevidst ligger på 8443. libcurl anbefaler at vælge porten i URL'en i stedet for at bruge den indstilling.

Når du genbruger et håndtag, skal du også regne med en tidligere eksplicit porttilsidesættelse. En ny URL gør ikke modstridende bevarede indstillinger lettere at fortolke.

Mellemleddet skal tillade CONNECT til den valgte destinationsport. En afvisning for 8443 er ikke grund til at flytte proxylytteren eller slå TLS-validering fra.

Relaterede artikler