写了两个系统,系统A使用curl去请求系统B,但是不知道为什么会报错

SSL certificate problem: certificate has expired

系统A使用了https但是系统B没有使用https

系统A的SSL并未过期,而且在两个系统在同一台服务器时并未报错,所以不是SSL证书的问题

解决办法:

  1. 关闭curl对证书验证,可以解决,但是个人觉得这种东西还是不要乱动比较好
curl -H "Content-Type:application/json" -X POST   --data '{"param1":1}'  https://openapi.xxx.cn/api/getData -k
  1. 这里可以确定是服务器本地的证书过期,可以在官方下载最新的证书替换掉就可以了
curl-config --ca # 查看证书所在目录
# 切换到证书目录 系统不同可能证书所在目录不同,自己切换就可以 切换命令 cd 所在目录
# 备份一个原来的证书 备份的命令 mv 原文件名 备份文件名
curl -o ./cacert.pem "http://curl.haxx.se/ca/cacert.pem"  -L -v # 下载最新的证书
# 将证书名称改成原本系统中一样的名字

完成,这样就可以直接使用了

参考

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐