curl请求https证书过期的问题:SSL certificate problem: certificate has expired

写了两个系统,系统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 # 下载最新的证书
# 将证书名称改成原本系统中一样的名字

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

参考

你可能感兴趣的:(https,服务器)