今天在使用golang请求微信服务时,出现错误。
x509: certificate signed by unknown authority
从日志来看go实现的Client端默认也是要对服务端传过来的数字证书进行校验的,但客户端提示:这个证书是由不知名CA签发 的!
对应这个问题,有2种不同的解决办法。
client端忽略证书的校验
示例
1 | package main |
此时运行客户端,会提示错误
1 | error: Get https://localhost:8081: x509: certificate signed by unknown authority |
可以修改代码,忽略对证书的校验:
1 | package main |
设置tls.Config的InsecureSkipVerify为true,client将不再对服务端的证书进行校验
添加CA证书
可以添加ca-certificates证书
可以将CA证书打包到docker镜像
1 | RUN apk --no-cache add ca-certificates \ |
使用apk命令安装我们需要的包ca-certificates(以便使用TLS的页面)