Perkhidmatan HTTPS pada port 8443 boleh dicapai melalui proksi HTTP pada port 8080. Nombor-nombor itu menerangkan sambungan yang berbeza:

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

Aplikasi masih bertanggungjawab atas pelaksanaan, pengendalian ralat dan kitaran hayat pemegang. Coretan kod itu menyimpan input penghalaan bersama tanpa mengubah pengesahan sijil.

cURL mula-mula bersambung ke proxy.example:8080. Untuk destinasi HTTPS ini, permintaan terowong menamakan api.example:8443, dan identiti TLS kekal api.example.

CURLOPT_PORT ialah penimpaan port destinasi, bukan port proksi. Menetapkannya kepada 443 setiap kali URL bermula dengan https boleh menimpa perkhidmatan yang sengaja dihoskan pada 8443. libcurl mengesyorkan memilih port dalam URL dan bukannya menggunakan pilihan itu.

Apabila menggunakan semula pemegang, ambil kira sebarang penimpaan port eksplisit terdahulu juga. URL baharu tidak menjadikan pilihan yang bercanggah dan tertinggal lebih mudah ditafsir.

Perantara mesti membenarkan CONNECT ke port destinasi yang dipilih. Penolakan untuk 8443 bukan sebab untuk memindahkan pendengar proksi atau mematikan pengesahan TLS.

Artikel berkaitan