本文主要是介绍curl: (60) SSL certificate problem: self-signed certificat,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录:
- 1、背景
- 2、测试结果
1、背景
今天帮忙客户排查问题,报错请求超时,但是ping客户的ip以及测试端口都是通的,最终不得不从中台服务器上发起请求客户回调接口,报错如下:
怀疑是客户的证书有问题,证书校验不通过导致的超时。
2、测试结果
跳过证书校验后,成功请求拿到了参数。证明是证书的问题,使用http的协议请求也是可以的。
导致错误的原因:
默认情况下,curl 会尝试根据系统上安装的默认CA验证 SSL 证书,
但是我们的server上的证书是在内网的CA申请的,本地电脑上没有相应根证书,所以验证失败。
解决方案:
- 使用curl -k, 跳过证书验证,不安全,开发的时候可以用,生产环境不建议使用
- 使用curl --cacert /path/to/ca.crt,指定server的根证书。将server的根证书下载到本地,curl请求的时候,使用–cacert带上根证书
这篇关于curl: (60) SSL certificate problem: self-signed certificat的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!