请求微信接口 certificate signed by unknown authority

2021-06-01 18:13:23

记下调试微信登录时遇到的一个问题

有个 h5 项目带了微信登录功能,功能是基于微信网页授权实现的,但是最近使用功能发现报了一个错:

现象

在使用golang请求微信服务时,出现错误

x509: certificate signed by unknown authority

错误是后端请求微信接口获取 openId/unionid 时出现的
go实现的Client端默认要对服务端传过来的数字证书进行校验

  • 注:后端服务是跑在 docker 容器里的

原因是容器里没有ca证书,所以校验出错了。

解决办法

可以选择两种办法

  • ① 修改 go 的 client 端忽略对服务端的证书校验
    关键设置:
    tr := &http.Transport{
        TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
    }
    
  • ② 添加证书到docker镜像内即可
    参考命令:
    ADD your_ca_root.crt /usr/local/share/ca-certificates/foo.crt
    RUN update-ca-certificates
    

参考资料

本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-ND 3.0 许可协议。可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。

扫描下方二维码阅读当前文章

浏览器、微信扫码

评 论:

好文推荐
每天进步一点点~