Ralat: "Masalah Berlaku Di suatu Tempat dalam Jabat Tangan SSL/TLS" Menggunakan cURL
Dalam bidang cURL, pengguna mungkin menghadapi mesej ralat enigmatic: "Masalah berlaku di suatu tempat dalam jabat tangan SSL/TLS." Isu membingungkan ini timbul apabila cURL menghadapi kesukaran untuk mewujudkan sambungan selamat melalui HTTPS.
Masalahnya
Konteks yang disediakan mendedahkan kebingungan pembangun di mana cURL mengendalikan permintaan HTTP dengan sempurna tetapi goyah apabila menghadapi HTTPS, walaupun apabila menyasarkan sumber yang sama menggunakan protokol yang berbeza. Respons ralat cURL, kod 35, menunjukkan kepada isu dalam jabat tangan SSL/TLS.
Percubaan Gagal
Pembangun meneroka potensi penyelesaian dengan teliti, termasuk melumpuhkan pengesahan sijil SSL (CURLOPT_SSL_VERIFYPEER) dan cuba memuat turun dan mengkonfigurasi sijil pihak berkuasa sijil (CA) (CURLOPT_CAINFO). Walau bagaimanapun, usaha ini terbukti sia-sia.
Penyelesaian
Selepas mendalami isu ini, pakar kami mendedahkan bahawa cURL tidak mempunyai sijil akar terbina dalam. Untuk membetulkan perkara ini, pembangun mesti secara eksplisit mengarahkan cURL ke fail sijil CA yang dipercayai (cacert.pem). Dengan menentukan laluan ke fail ini menggunakan CURLOPT_CAINFO, cURL boleh mengesahkan ketulenan sijil SSL yang disediakan oleh pelayan jauh.
Fail cacert.pem boleh diperoleh daripada sumber yang bereputasi, seperti dokumentasi cURL rasmi (http://curl.haxx.se/docs/caextract.html). Dengan memasukkan sijil ini, cURL boleh mewujudkan sambungan selamat dan mendapatkan semula sumber HTTPS yang diminta.
Atas ialah kandungan terperinci Mengapakah cURL Throwing \'Masalah berlaku di suatu tempat dalam jabat tangan SSL/TLS\' Ralat Semasa Menggunakan HTTPS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!