您现在的位置是:首页 > 文章详情

golang项目访问https的问题

日期:2018-09-05点击:443

一个golang的项目,使用了腾讯云的短信服务,腾讯云的短信服务URL是https://yun.tim.qq.com/v5/tlssmssvr/sendsms?sdkappid=xxxxx&random=xxxx,在开发平台,可以正常使用。编译后部署到生产平台,短信发不出来了。为了定位问题,找了一台干净的测试机,部署后也发不出短信,因此判断生产平台的云服务器没有问题。

在测试机上,经过调试,终于定位错误信息:x509: failed to load system roots and no roots provided

搜索错误信息,首先找到这篇《go语言在不支持cgo的情况下访问https链接》,看完内容后直觉这个解决方法不对,太不优美了。接着看到《go语言获取https报错x509: failed to load system roots》这篇,思路和解决方法没错了。因为我使用的是freebsd平台,所以对应的软件包名肯定不一样。尝试openssl等几个软件包,都没有解决问题。直到看到https://wiki.freebsd.org/Docker里有这么一段:

Common Errors Missing /usr/docker! Please create / mount a ZFS dataset at this location. The "docker" dataset needs to be created. Error response from daemon: Get https://index.docker.io/v1/search?q=centos: x509: failed to load system roots and no roots provided The "ca_root_nss" package is not installed.

豁然开朗,原来是缺少了ca_root_nss这个package。装上就搞定了。

原文链接:https://yq.aliyun.com/articles/636273
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章