困扰我的证书无效问题总算有答案了

2022-04-22 11:30:03 +08:00
 awesomes

自从网站上线一来一直有零星的用户反馈说网站证书无效,但是我访问的时候一直是有效的啊,当时以为是用户自己浏览器问题没有上心,今天又看到用户反馈说证书问题了

于是发现问题不简单,接着去相关检测网站检测了一下,评级为 b ,里面有一条重点是“证书链不完整”,( https://blog.myssl.com/faq-miss-ca-certificate/)

现代的浏览器都有证书自动下载的功能,但很多浏览器在安装后是使用系统内置的证书库,如果你缺失的那张 CA 证书,在系统的内置证书库中不存在的话,用户第一次访问网站时会显示证书无效

但是奇怪的是我用了相同的证书在 nginx 上部署了接口,接口的证书检测是完全没问题的,那么问题只能出现在阿里云上传证书这里了,于是开了工单问阿里云客服,没等对方回答,网上找到了一篇文章,结合分析,自己的 nginx 配置的是 fullchain.pem ,而阿里云 cnd 上传的时候配置的是 cert.pem ,难怪出现不完整证书链了。

隐约记得当时上传阿里云证书的时候,不知道哪看的教程,就是用的 cert.pem ,然后 privkey.pem 还不能用,需要转一下 openssl rsa -in privkey.pem -out new_privkey.pem

我一直以为就应该这样配置,也就出现了上面的问题,但是实际上直接用 fullchain.pem 和 privkey.pem 即可,没任何问题,再次检测果然没这个问题了。

调整后的评级

总结一下,主要原因还是缺乏对证书的理解才会出现这种低级问题。

2936 次点击
所在节点    SSL
14 条回复
awesomes
2022-04-22 11:31:53 +08:00
ruixue
2022-04-22 11:44:59 +08:00
HSTS 的时间设置长一点,评级就能 A+了
linglin0924
2022-04-22 11:52:43 +08:00
惭愧,没看懂,现在部署 SSL 都是用宝塔、脚本或者教程,证书链这个词都很陌生。
AoEiuV020CN
2022-04-22 12:13:03 +08:00
这个有用 curl 调试网站就容易发现问题了,
主要还是现代浏览器会自动补全缺少的证书链,有的又不会,导致有些正常有些不正常的,
awesomes
2022-04-22 12:20:34 +08:00
@linglin0924 首先我用的是阿里云的 CDN ,并且我用的是免费的 letencrypt 证书,需要手动上传上去配置到 CDN 的 HTTPS 里面才能使用
awesomes
2022-04-22 12:20:53 +08:00
@AoEiuV020CN 学到了
awesomes
2022-04-22 12:21:37 +08:00
@ruixue 我目前设置的 60 秒好像,不太清楚 HSTS 干啥用的
titanium98118
2022-04-22 12:43:32 +08:00
我也是用 letencrypt 证书,刚测了一下,是 A ,没问题
googlefans
2022-04-22 13:05:28 +08:00
我遇到了同样的问题 从 cdn 设置了下就好了
3dwelcome
2022-04-22 13:20:43 +08:00
我觉得没用,你证书链里的 CA ,如果操作系统里没有这个 CA ,浏览器不一定马上直接信任的。

正常老版本的 windows 7 ,最新 CA 列表都需要从 windows 官方服务器更新,不可能浏览器访问网页后,返回一个 CA ,就直接信任。
xiangyuecn
2022-04-22 13:34:51 +08:00
@3dwelcome #10 你讲的是根证书缺失吧,不用讲的 根证书都没有 100% 不信任。只要有根证书,不管你用了几百个中间证书签的,顺藤摸瓜验证的事

----

证书链也挺有意思的,pem 文件里面就是直接把中间证书复制粘贴到后面就行了😂 不过 pfx 格式的 我就不会搞了,iis 蛋疼的一逼
Tink
2022-04-22 13:36:40 +08:00
现在你申请出来的证书一般是都自带一个 fullchain 文件呀
awesomes
2022-04-22 13:49:44 +08:00
@Tink 是的 有 fullchian.pem ,主要是之前不知道怎么加到阿里云自定义证书上面,网上找了教程说用 cer.pem ,于是就出现这个问题了
awesomes
2022-04-22 13:51:34 +08:00
@3dwelcome 不是很理解证书这一块,不过从检测结果来看,确实应该是没问题了

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

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

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

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

© 2021 V2EX