请求微信接口 certificate signed by unknown authority

举报
薛定喵君 发表于 2021/06/02 08:49:24 2021/06/02
【摘要】 调试微信登录时遇到的一个问题有个 h5 项目带了微信登录功能,功能是基于微信网页授权实现的,但是最近使用功能发现报了一个错: 现象在使用golang请求微信服务时,出现错误x509: certificate signed by unknown authority错误是后端请求微信接口获取 openId/unionid 时出现的go实现的Client端默认要对服务端传过来的数字证书进行校验注:...

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

有个 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
    

参考资料

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。