CURL error 60: SSL certificate problem: certificate has expired
项目使用guzzleHttp做的一个接口,报错:certificate has expired
因为在linux centos环境与window环境有所不同,在此记录一下解决过程。
目录
报错提示
cURL error 60: SSL certificate problem: certificate has expired (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://api.openai.com/v1/completions
原因
GuzzleHttp 使用http协议时,因为Let’s Encrypt 证书停止了HTTP API的请求支持,所以到期没有办法升级,证书过期验证不通过。
解决方式
1.去掉guzzlehttp的验证
new Client([ 'verify' =>false]);
2.更新CA证书
从网站下载最新证书,并上传到原ca证书位置
下载证书
https://curl.haxx.se/ca/cacert.pem
查看证书位置
curl-config --ca
上传证书
使用sftp上传到/etc/pki/tls/certs/文件夹下
修改软连接
通过ll命令查看,可以发现证书有建立软连接
使用ln -sf强行创建软连接,若存在则覆盖原来的软连接
ln -sf cacert.pem /etc/pki/tls/certs/ca-bundle.crt
总结
建立软连接后,如果觉得不保险可以重启一下php-fpm,之后问题应该就解决了。相比于window中直接把文件下载后,直接修改php.ini,微微复杂了一点;linux中修改配置并不好使。
借鉴文章:https://www.cnblogs.com/xuduan/p/15380306.html
来源地址:https://blog.csdn.net/json_ligege/article/details/129092088
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341