由https引起的一次通宵

通宵

据说周五要演示,但是没人负责。项目经理没把控,市场部的人也没有把控。结果突然说周五上午要演示。昨天晚上临时上线项目。加班到凌晨3点钟才开始睡觉。   

项目需求

要在cp第一期版本上班修改。说是只要后端修改数据,将每个栏目的图片修改成漂亮的图片就可以了。

突然变更需求

第一期的一个栏目里面的视频链接请求必须在url后面加一个token字段。获取token字段的api在后端的测试服务器上面。

出现的问题

在本地进行 http://xxx.com/app?id=yyy访问,代码一切正常。部署到线上,进行https://xxx.com/app?id=yyy访问,加了token的视频无法无法访问。
经过凌晨1点-2点的排查,发现是因为访问https://xxx.com/app?id=yyy的时候,无法获取视频token。原因是获取token的api部署在测试环境,测试环境没有部署ssl。当我们访问https://xxx.com/app?id=yyy的时候,所有xhr请求都会以https协议去请求ssl,无法请求到ssl,所以无法获取token。

解决办法

最后的解决办法是,我们把线上的访问地址换成了http://xxx.com/app?id=yyy

结论

1、测试环境和线上环境不统一,导致http和https协议直接起了冲突。建议之后测试环境也部署ssl。
2、事后,到现在大家也没有这次的经验教训。好像就这么过去了。感觉很不负责吧。