写了两个系统,系统A使用curl
去请求系统B,但是不知道为什么会报错
SSL certificate problem: certificate has expired
系统A使用了https
但是系统B没有使用https
系统A的SSL并未过期,而且在两个系统在同一台服务器时并未报错,所以不是SSL证书的问题
解决办法:
- 关闭curl对证书验证,可以解决,但是个人觉得这种东西还是不要乱动比较好
curl -H "Content-Type:application/json" -X POST --data '{"param1":1}' https://openapi.xxx.cn/api/getData -k
- 这里可以确定是服务器本地的证书过期,可以在官方下载最新的证书替换掉就可以了
curl-config --ca # 查看证书所在目录
# 切换到证书目录 系统不同可能证书所在目录不同,自己切换就可以 切换命令 cd 所在目录
# 备份一个原来的证书 备份的命令 mv 原文件名 备份文件名
curl -o ./cacert.pem "http://curl.haxx.se/ca/cacert.pem" -L -v # 下载最新的证书
# 将证书名称改成原本系统中一样的名字
完成,这样就可以直接使用了文章来源:https://www.toymoban.com/news/detail-600183.html
参考文章来源地址https://www.toymoban.com/news/detail-600183.html
到了这里,关于curl请求https证书过期的问题:SSL certificate problem: certificate has expired的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!