前几天我们服务器从腾讯云转到阿里云,然后部分手机厂商(主要是OPPO和VIVO)的app无法登录,经过断点测试发现app请求报错:
javax.net.ssl.SSLException: hostname in certificate didn't match ***
app用的第三方联网框架AsyncHttpClient,服务器是Https请求的,app本地并没有做ssl验证,请求响应也没问题。不知道为何域名更换服务器IP地址后部分手机就无法正常访问了,问题非常蹊跷。如果是SSL验证问题,那么之前测试肯定无法返回数据,而且应当是所有手机报错的,但是现在只有部分手机请求有问题并报错。
解决方法:
在请求之前加一句话
SSLSocketFactory.getSocketFactory().setHostnameVerifier(newAllowAllHostnameVerifier());