2020年3月26日 星期四

Jenkins curl 出現 unable to get local issuer certificate

平常在跑的排程因為SSL簽章過期更新後出現unable to get local issuer certificate這樣的錯誤訊息 參考這篇blog無法解決,不過也是個研究方向,應急不行。

這篇 curl 略過檢查自簽 SSL 憑證有效性 就不錯用了,加上-k 或 --insecure 去重跑排程就不會再報錯!! 當然一般寫code加上CURLOPT_SSL_VERIFYPEER去排除狀態,不過這是透過Shell Script來執行的初次碰到就註記下。


#!/bin/sh
system=('www1' 'www2' 'www3')
for i in "${system[@]}"
do
   curl -k --request GET 'https://'$i'.domain.net/method.php'
done


<?php
$url = "https://www1.domain.net/method.php/";
$post_data['var'] = "xxx";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post_data));
$result = curl_exec($ch);
curl_close($ch);
?>

沒有留言: