不久前,「小站背面」加入的建站爱好者组织「萌备」发来邮件,由于我们「网站的证书证书链不完整」,导致自动程序无法检查网站内容。
随邮件附上的还有两张截图,其一是浏览器内中级证书缺失的提示,另一则是在线 SSL Lab 检测的评级结果。
虽然我在收到邮件后的十分钟内完成了修复,但正好借着这个机会讲讲建站时总绕不开的 SSL 证书问题。就当是一篇小小科普吧。
中级证书是什么?为什么没了它不行?
首先我们要搞清楚什么叫「证书链」。
- 用于 HTTPS 访问的证书链,其实就是多级证书构成的链条。一般来说,合规的证书链由根证书、中间证书、服务器证书三部分组成。
- 根证书由 CA 机构颁发,例如,本站使用的证书中,CA机构则为 GlobalSign 。
- 中间证书又称二级证书,由中间证书机构颁发,例如下图中的 AlphaSSL。其实中间证书也可以不止一级,但理论上证书链条越长,访问时耗时也会增加,因此以短为宜。
- 服务器证书又称用户证书,是「浏览器上实际体现和使用的证书」[1],例如下图中中由服务器发送的 *.ygxz.in 泛域名证书。
理论上,当我们上传到服务器的证书不包含中间证书时,浏览器会自动下载中间证书以补全,就像上图那样。
但是在互联网世界中,新老设备五花八门,各种浏览器并不都能乖乖按照你的期望去执行。
像是「萌备」的自动检查程序,或者是一些年代较为久远的浏览器,遇到中间证书缺失时,会直接报错,导致网站看起来无法访问。
因此,补全证书链是有其意义所在的。
利用在线程序完成证书链补全
本站托管于 Plesk 面板,使用的 SSL 证书格式是 .pem ,因此我们可以利用 这个网站 合成完整的 .pem 证书。
粘贴秘钥和证书,勾选「自动添加中间证书」选项,即可获得完整证书。
如何检查网站证书链是否完整?
你可以在 这个工具 输入域名,便捷查看自己网站的 SSL 证书安装情况。
在证书链包含三级的情况下,「证书 2」即为中间证书。
又或者,你可以运行 SSL Lab 测试,检查自己网站的 HTTPS 实践是否达到最佳状态。
在修复证书链之前,本站的安全评级被降级为 B。
修复以后,轻松 A+。
你没有拿到 A+?那就 期待本站的系列文章 按照网页上的提示动手修复吧~
评论