单位的网站近期ssl证书到期,重新购买证书后,先前部署在服务器上面的微信小程序访问异常,通过在微信开放社区、百度、csdn各种搜索,最终确认问题原因,修改后解决,现对整个过程做一个梳理,做个总结。
单位的网站近期ssl证书到期,重新购买证书后,在堡塔linux服务器上配置完后意外发现先前部署在服务器上面的微信小程序在手机上访问时无法获取到数据,在电脑微信上面却能获取。
以下是我在查这个问题时尝试的各种解决方法,希望能为大家以后遇到类似问题有所启发
手机上访问小程序有问题,电脑上面没问题,首先怀疑是不是ssl证书更新后,手机上面的小程序需要重新刷新或者重新获取,尝试刷新小程序或删除小程序重新搜索进入依然有问题。
在网站搜索相关问题的解决办法,有网友说通过重启服务器问题莫名其妙的解决了,我也试了一下,无果。
从程序员角度来看,我怀疑是不是服务器上面部署的和小程序有关的代码存在和ssl配置有关的内容,并且这个内容没有随着服务器更换ssl证书而更新,于是仔细看了一下服务器上面和小程序有关的代码,没有发现和ssl配置有关的内容,也不是这个原因。
有网友说根据之前《关于公众平台接口不再支持HTTP方式调用的公告》明确表明,为保证数据传输安全,提高业务安全性,公众平台将不再支持HTTP方式调用,如果网站首页有引用http:的情况,ssl证书的评级将会降为B,影响小程序部署,我检查了一下,确实有,都替换成https:了,但依旧不行,证书的评级也没有变化。
有网友说小程序管理后台上,要把wss的域名配置上,我检查了一下,之前早就配置过,没有问题,不是这个原因。
最后找到一种说法是证书的信任链必须完整,可以通过证书信息链完整性检测检测一下,不完整的可以在工具箱里面进行修复,会提供比较完整的pem格式的证书。
我自己粘到服务器上面配置一下,我试了一下,问题真的解决了!仔细检查一下,修复后的pem证书其实就是签发的不带ca与带ca的前半部分拼接而成的,之前光配置的不带ca的,当时安装指导人员说带ca的证书可以忽略,不用管,呜呜……,现在回想起来,只能说他之前没遇到服务器上面有部署微信小程序的情况……
从服务器ssl证书到期更新后引发的微信小程序访问异常的这个事件来看,ssl证书配置也很有讲究的,服务器没有部署小程序的,问题不大,部署小程序的,pem证书必须配置完整(带ca与不带ca的都用得上),这是我通过这次教训总结的经验,希望能帮到大家