前几天帮一个客户排查HTTPS访问问题,发现就是证书链不完整惹的祸,证书链不完整一文讲清解决办法其实不难,很多人碰到浏览器红叉提示不安全就慌了,其实大多是配置环节出了小问题。我干这行二十多年,碰到这种问题真的不算少,有的是新手刚配置SSL没弄对,有的是换服务器之后迁移证书漏了步骤,还有的是用了免费证书没补全中间链,反正各式各样的情况都有,今天就跟大家唠唠这个问题到底怎么搞定,没啥复杂的,看完你自己就能上手调。

证书链不完整带来的常见影响
先给大家说说为啥这个问题要重视吧,别不当回事。首先最直观的就是浏览器提示,不管你用的是Chrome还是Edge,哪怕是Safari,碰到证书链不完整都会直接弹出红色警告,说你的网站不安全,有的甚至直接阻止用户访问。你想想,要是你是访客,点进一个网站就看到这个警告,你还敢继续逛吗?大概率直接关掉走人了,这平白无故就损失了好多流量和用户,对吧?
然后呢,对搜索引擎优化其实也不太友好,搜索引擎爬你的网站的时候,如果检测到证书有问题,虽然不会直接降权,但爬取效率肯定会受影响,时间长了也会影响收录。还有一些老版本的系统或者浏览器,对不完整的证书链支持特别差,根本没法正常建立HTTPS连接,直接就打不开网站了,这损失真的不小。所以碰到这个问题,趁早解决比拖着强,别等流量掉了才着急。
证书链不完整的常见原因有哪些
要说原因啊,其实翻来覆去就那几种。我碰到最多的就是安装证书的时候只导入了域名证书,没加中间证书。很多新手朋友申请完证书,下载下来好几个文件,分不清哪个是哪个,就只把带自己域名的那个上传了,殊不知中间证书是用来链接域名证书和根证书的,没了它浏览器就找不到信任路径,自然就提示不完整了。
第二种常见情况就是证书更新或者重新颁发之后,只换了域名证书,没更新中间证书。原来的中间证书可能过期或者失效了,你还用旧的,那肯定不对。还有就是迁移网站或者换服务器的时候,拷贝证书文件只拷了一部分,漏了中间证书或者根证书,这不完整也很正常。
第三种呢,就是用了CDN或者反向代理,证书配置错了地方。比如说很多人把证书放源站了,但CDN节点上没配置正确的完整证书链,用户访问走的是CDN,那自然就出问题了。还有一些自动签发证书的工具,有时候生成证书链的时候会出点小错,导致不全,这种情况重新生成一次一般就好了。当然具体还是要以服务商或官方页面说明为准。
证书链不完整的通用解决步骤
接下来就是干货了,怎么解决这个问题?我给大家整理了通用的步骤,不管你用什么服务器什么系统,照着来基本都能搞定。第一步先检测,你别上来就瞎改配置,先去网上找个免费的SSL检测工具,输入你的域名,一查就能告诉你是不是证书链不完整,具体缺了哪个部分,工具会给你提示,这比你瞎猜强一百倍,对吧?
第二步,补全证书链。如果检测出来说缺中间证书,那很简单,去你申请证书的CA机构官网,找到对应证书类型的中间证书下载下来,然后把它拼接到你的域名证书文件后面就行。举个例子,比如你用Nginx,一般会有个fullchain.pem,你把下载下来的中间证书内容复制到这个文件里面,保存就好了。如果是IIS服务器,导入证书的时候把中间证书一起导入到中间证书存储区域就行,也不复杂。要是你用的是面板,那更简单,面板一般都有自动补全证书链的功能,你重新上传一次证书,它自动就给你弄好了。
第三步,清缓存。配置改完之后,别忘清缓存,服务器端的缓存要清,如果你用了CDN,CDN的缓存也要清,不然用户访问拿到的还是旧的不完整的证书,你这边测半天没问题,用户那边还是错,这不白忙活嘛。清完缓存之后,再用检测工具查一遍,确认证书链已经完整了,再用不同的浏览器打开试试,看看还有没有警告,没问题就搞定了。
哦对了,还有一种情况,就是你之前证书配置是对的,突然就提示不完整了,那大概率是中间证书过期了,很多CA机构会更新中间证书,你只需要重新下载新的中间证书换上就好了,也不是啥大问题。
配置完证书链要注意哪些细节
最后跟大家唠几个容易忽略的小细节,别好不容易配置完了又出问题。第一个,不要混用不同CA的中间证书,比如说你在A机构申请的证书,就用A机构给你的中间证书,别随便从网上下一个别的机构的用上,那样浏览器还是不认,白搭。第二个,证书文件的格式别搞错,pem格式是明文编码,pfx是二进制打包,不同的服务器要求不一样,别把格式转错了,转错了证书读不出来还是不行。第三个,如果你用了云服务或者托管,自己搞不定的话直接找服务商的技术支持,别在这儿死磕半天浪费时间,人家专业的一分钟就能给你搞定,真的没必要硬扛。
还有啊,别贪便宜用那种不知名CA发的证书,虽然都是免费的,但人家正规CA的证书链配置都很规范,出问题的概率小很多,不知名小CA的证书经常出这种链不完整的问题,后期麻烦不断,真的犯不上。
总的来说,证书链不完整真不是什么疑难杂症,无非就是配置的时候漏了东西,只要顺着排查思路一步步来,找到缺的环节补上,大部分情况十几分钟就能搞定。要是你刚碰到这个问题,别慌,照着我说的步骤试试,大概率就能解决了,实在不行再找专业人士帮忙,也耽误不了多少事。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!