Untuk beberapa alasan saya tidak dapat menggunakan CURL dengan HTTPS. Semuanya berfungsi dengan baik sampai saya menjalankan peningkatan pustaka curl. Sekarang saya mengalami respons ini saat mencoba melakukan permintaan CURL: Masalah dengan sertifikat CA SSL (jalur? Hak akses?)
Berikut saran yang diposting di sini tentang masalah terkait, saya telah mencoba melakukan hal berikut:
Nonaktifkan verifikasi untuk host dan rekan
curl_setopt($cHandler, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($cHandler, CURLOPT_SSL_VERIFYPEER, true);
Aktifkan
CURLOPT_SSL_VERIFYPEER
dan arahkan ke cacert.pem yang diunduh dari http://curl.haxx.se/docs/caextract.htmlcurl_setopt($cHandler, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($cHandler, CURLOPT_CAINFO, getcwd() . "/positiveSSL.ca-bundle");
Saya juga mencoba melakukan hal yang sama dengan positiveSSL.ca-bundle yang disediakan sebagai bundel sertifikat CA untuk server yang saya coba sambungkan.
Edit pengaturan php ini dengan
curl.cainfo=cacert.pem
(file di direktori yang sama dan dapat diakses oleh apache)Ganti nama
/etc/pki/nssdb
menjadi/etc/pki/nssdb.old
Sayangnya tidak ada di atas yang dapat menyelesaikan masalah saya dan saya terus-menerus mendapatkan Masalah dengan pesan SSL CA cert (path? Access rights?).
Dan saya tidak memerlukan verifikasi ini sejak awal (saya mengetahui masalah keamanan).
Apakah ada yang punya saran lain?
MEMPERBARUI
Setelah memperbarui ke pustaka terbaru dan memulai ulang seluruh kotak, bukan hanya apache yang saya lakukan semuanya tampaknya berfungsi sekarang lagi !!!
Jawaban:
Menurut dokumentasi: untuk memverifikasi sertifikat tuan rumah atau rekan Anda perlu menentukan sertifikat alternatif dengan
CURLOPT_CAINFO
opsi atau direktori sertifikat dapat ditentukan denganCURLOPT_CAPATH
opsi tersebut.Lihat juga
CURLOPT_SSL_VERIFYHOST:
sumber
SSL verification disabled
)Kami memiliki masalah yang sama pada mesin CentOS7. Menonaktifkan
VERIFYHOST
VERIFYPEER
tidak menyelesaikan masalah, kami tidak lagi mengalami kesalahan cURL tetapi tanggapannya masih tidak valid. Melakukan awget
ke tautan yang sama seperti yang dilakukan cURL juga mengakibatkan kesalahan sertifikat.-> Solusi kami juga adalah me-reboot VPS, ini menyelesaikannya dan kami dapat menyelesaikan permintaan lagi.
Bagi kami ini tampaknya menjadi masalah kerusakan memori. Reboot VPS memuat ulang libary di memori lagi dan sekarang berfungsi. Jadi jika solusi di atas
@clover
tidak berhasil, coba reboot mesin Anda.sumber