Permasalahan ketika mengkonsum service tidak dapat respon dari service, setelah di cek dikarenakan ssl
Unable to verify the first certificate sehingga service tidak berjalan dengan baik mengatasinya kita perlu penambahkan
'ssl' => [ 'verify_peer' => false, 'allow_self_signed'=> true ]
Jika menggunakan get ContextOptions & Context
seperti berikut :
$contextOptions = array( 'ssl' => array( 'verify_peer' => true, 'allow_self_signed'=> true ) ); $sslContext = stream_context_create($contextOptions);
atau
$context = [ 'http' => [ 'method' => 'GET' ], 'ssl' => [ 'verify_peer' => false, 'allow_self_signed'=> true ] ]; $context = stream_context_create($context); $resp = file_get_contents('https://site/', false, $context);
Jika menggunakan Curl tambahkan :
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
Atau
CURLOPT_SSL_VERIFYHOST = false CURLOPT_SSL_VERIFYPEER = false
Sehingga menjadi
curl_setopt_array($curl, array( CURLOPT_URL => 'https://codeitworld.com/api/data_user', CURLOPT_SSL_VERIFYHOST => FALSE, CURLOPT_SSL_VERIFYPEER => FALSE, CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_HEADER, 1, CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_POST, 1, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_USERPWD => "userbbo:icms@123", CURLOPT_POSTFIELDS => $pdt, CURLOPT_HTTPHEADER => array( 'Content-Type: application/json' ), ));
Sekian tutoral kali ini
Sumber :