在9月份,公司的服务器使用SVN总是会出现一些诡异的问题,而且当前服务器环境为windows + apache,所以打算直接将服务器环境也一次性更换为linux + nginx,获得更优的性能。

先将服务器资源全部打包备份,因为后台文件过大,差不多有5个G左右,所以打包了相当长时间,备份数据库,一切前期工作完成后,等待着下午6点钟之后重新安装服务器环境及重新部署所有项目。

时间到,必须在最快的时间内完成。

登录阿里云服务器,将当前服务器环境重装为CentOs,使用SSH连接,直接使用命令安装宝塔面板:

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh

接着在阿里云服务器管理中,配置安全组规则,开启各个端口,数据库恢复,项目文件重新部署,后台访问正常,IOS环境下访问小程序一切正常,Android环境下访问小程序,出现异常!无法访问!

初步分析判断,后端代码没有问题,前端代码没有问题,那么出现问题的肯定是部署了新环境导致的,既然IOS环境可以访问,Android环境 不能访问,证明是由于IOS和安卓的部分差异特性引起的,某些地方的问题引发了差异性;

思考了两三个小时,突然想起来,之前搭建自己网站的时候,需要部署SSL证书,而当时SSL证书的PEM文件分为“根证书”与“中级证书”,而且是打开七牛云后,貌似提醒过我,说两个证书缺一不可,必须将证书内容全部合并在一起,因为偶尔看到过,所以大致有些印象。

再次尝试,将SSL证书的两个PEM文件内容合并,使用IOS与Android访问,终于正常了!问题解决!



那么进一步看下SSL证书链到底是什么:


可以看出,其实SSL认证过程中,必须要现有根证书,接着验证中间证书,才算是一个完整的验证。

大家如果以前在铁路12306网站上买过火车票的话,肯定还记得他有一个提示,让你手动下载一个证书安装,这个原因其实就是铁道部用的证书是某些非主流证书,还需要手动下载一个证书来安装;

找到以前的一些图片,看看一直铁道部的证书到底是什么鬼:

签发机构是SRCA,经过查询,该签发机构的网站是 http://www.sinorail.com/  :


这个网站是 中铁信息工程集团哦,也就是说,之前的12306网站,是自己给自己颁发的证书,由于不被主流认可,用户必须下载一个证书安装到系统,那么之后这个“山寨证书”就被系统所认可,正规主流的证书签发机构就那么几家,而且每年的费用很贵,大概当时的铁路系统要拿这些钱给领导发福利吧,理解万岁~

现在12306网站改版了,证书信息是:

搜索一下相关信息:



现在网站改版后,也终于走上了正规化的道路,不容易,不容易,此处有掌声!

那么个人如何申请SSL证书呢,我会在后续博文中陆续更新,请大家持续关注!

感谢阅读~