Mengalami Error Curl (60) SSL Certificate

usahawan-maju

Cek CURL Response Pada Terminal

    


Berdasar dari gambar diatas ceritanya bermula saat saya melakukan aksess api aplikasi yang sudah biasa apinya digunakan untuk integrasi dengan aplikasi lain. Namun apa daya terjadi error curl: (60) SSL certificate problem: unable to get local issuer certificate. Disitu saya merasa sedih, hehehe.

Usut punya usut menurut saya error ini bisa karena ssl pada dns yang aktif sehingg meminta file verifikasi untuk diizinkan mengakses apinya. Namun ternya error tersebut bisa terjadi dengan beberapa cara. Untuk kejadian yang sedang saya alami saya sudah menambahkan pada php curl script  

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); 

permintaan agar mengabaikan saja verifikasi ssl nya namun ternyata penambahan script tidak berefek apapun. Padahal seharusnya paling tidak script tersebut bisa mengabaikan verifikasi ssl yang diminta. Kemudian saya menambahkan script ke php curl

curl_easy_setopt(curl, CURLOPT_CAINFO, "sertifikat/cacert.pem");

dan merubah  

CURLOPT_SSL_VERIFYPEER, false);  menjadi  CURLOPT_SSL_VERIFYPEER, true);

namun apa daya ternyata masih mengalami error. karena penasaran saya tes cengan culr CLI

dengan code

curl --cacert /var/www/appq/sertifikat/cacert.pem --location --request POST 'https://domainame.com/url/api'  --header  'Cookie: app_session=73s3qsgSasn'  --form 'key="xxx" '

dan ternyata api berhasil diakses, yang artinya api berjalan normal. lalu apa yang sebenarnya terjadi? disitu saya merasa aneh.

saya mempertanyakan sepertinya server tidak berjalan dengan baik. Pertanyaan itu didapat dari beberapa kejadian yang mendasari. 

1. script php curl bisa dijalankan dengan baik, bisa melakukan akses api, bisa menampilkan hasil respon server. sehingga kesimpulan script jalankan di localhost / di komputer normal.

2. script php curl di uji di server lain untuk melakukan akses api dan mendapatkan hasil yang sama. api bisa diakses dan menampilkan hasil respose server dengan baik.

sehingga jatuh pada kesimpulan server yang sedang saya gunakan untuk membuat aplikasi baru ini sedang tidak baik, bisa jadi ada settingan yang belum jalan. Sekedar info ketika itu saya menggunakan server centos 7 dan 8 (server yang mengalami masalh akses api ).

Terus apa solusi selanjutya? 

Dalam kejadian ini saya melakukan cek status apakah SELinux membiarkan webserver terhubung ke jaringan pada server dengan perintah terminal

 # getsebool httpd_can_network_connect

hasilnya ternyata :  httpd_can_network_connect off  

Settingan ini yang menjadikan aplikasi gagal melakukan akses ke api yang diinginkan. Agar aplikasi bisa akses server kemudain saya aktifkan menjadi ON dengan perintah berikut :

setsebool -P httpd_can_network_connect on

Setelah set on ternyata semua code php curl yang saya buat tadi berjalan normal dan menampilkan respons api yang diberikan. <solved>


usahawan-maju
Mengalami Error Curl (60) SSL Certificate | 5