关于 ssl 校验的疑难杂症

2019-06-10 14:07:59 +08:00
 304464743

问题一: 一个 url,在谷歌浏览器里显示 ssl 证书是没问题的。

在 goland 里通过 client.Do(request),访问没问题。

但是在 linux 里运行提示自签名证书(x509: certificate signed by unknown authority)

为啥会这样呢? chrome 和 windows 的 goland 里都没提示证书有问题。为什么到 Linux 就提示自签名证书了呢

问题二: 于是我在代码里加了 ssl 不需要校验(TLSClientConfig: &tls.Config{InsecureSkipVerify: true}),另外一个没问题的 Url,原来是正常的,现在变得超级慢,我 print 一下,发现慢的地方就是卡在了 client := &http.Client{Transport: tr},这部分 为什么会这样呢?

2602 次点击
所在节点    Go 编程语言
3 条回复
pmispig
2019-06-10 14:11:44 +08:00
建议在 linux 用 curl 看看会不会有证书问题, 如果有的话,多半是因为 web 服务器的证书没配置证书链
tiedan
2019-06-10 16:02:49 +08:00
没装 ca-certificates 吧
vuuv
2019-06-10 22:16:02 +08:00
自签名提示都是 self signed。是能找到 CA 证书的(就是自己)。
你这个是 unknown authority,未知的 CA。如 #2 所述,你没有正确安装 ca-certificates。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/572442

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX