诡异的事
昨天同组的mm跑过来问我借我的老三星手机,系统是Android 4.0.4的,老手机低系统可谓是测试神机(因为我们的产品支持的api是14以上)。一会mm跑过来说,“网易漫画无法使用,提示网络异常,是不是这个手机老得无法联网了?”
国庆节前还是好好的测试机老将,现在居然要退休了?我有点不太相信,看着测试机上右上角满格的wifi信号,我陷入了沉思。看下网易漫画,的确是每个页面提示toast“网络连接异常”。
问题排查
先看下网络是不是ok的吧,看下其他应用怎么样。看了微博(很老的版本)有些页面还是能刷出来的,再看下网易云阅读,页面能显示,但是书籍封面图片显示不出来。原来如此,是https协议的问题,https接口在这台手机上没有通。抓包显示也是如此,尽管手机上已经安装好了证书,抓包工具上还是没有抓到https请求。
而网易漫画正好每个页面请求都是https的。故而app给人的感觉就是无法使用。
手机为什么https请求失效呢
想了好久,网上也谷歌了好久,都没有找到这款旧手机相关的信息。
手机也恢复出厂设置了多次,还是无效。
最后突然注意到了手机时间,手机时间是1900年1月1日!
恍然大悟,旧手机多次使用后,我们都没有注意到时间已经重置了。https与本机时间有什么关系呢?
https协议与本机时间相关,https传输的过程中是加密的,而加密的证书里面是携带有效期的,证书的有效期是一个固定的时间段。设备进行https连接的时候,是会携带当前的时间(本机时间)。如果时间不在这个有效期之内,https链接建立的时候,就会报错。
问题解决
知道原因后就好解决了,将手机时间设置为随网络时间设定,也就是符合现在的时间。所有的app都可以正常使用了。
日常中遇到的小小的问题,记在这里,积累多了也是一笔宝贵的财富呢。yeah~~