手机上一直都有安装 SoftBank 应用,之前使用也都一直正常,但是不知道什么时候开始,突然之间就出现了如下的错误,无法登录。
A server with the specified hostname could not be found.
如图
我在网上也查了一段时间,还去了线下营业厅,很久都没有解决。
但是今天我突然又想起来,所以又折腾了一下,因为 SoftBank 的应用是需要将 WiFi 关闭,直接使用流量来登录的。所以理论上应该就是和流量相关的。
所以我找了设置中 Cellular 相关的配置,确定只保留了 SoftBank 是启用的,并且在 SoftBank 的相关设置中确保 Limit IP Address Tracking 关闭,然后 Data Ooaming 开启,在 Carrier Services 这个选项中,我发现了一点异常。
当我点击上面的设定(My Y!mobile)的时候,发现我无法在浏览器中登录
entitlement.l.softbank.ne.jp
这个网站。
并且抛出来的异常我非常熟悉,这不就是域名解析没有生效嘛。也就是说通过流量访问这个网站的时候,DNS 解析出现了问题。
看到这里我才突然意识到,我收集上之前安装过一个广告过滤插件,它会自动利用 DNS 解析进行过滤。在 iOS 的设置,General -> VPN & Device Management -> DNS 设置中,可以选择 DNS 提供商。
将 DNS proxy 切换成系统默认 Automatic,然后在浏览器中再次访问网站,确实可以浏览了。然后再去 SoftBank 应用中,发现也可以正常登录了。
原因
iOS 中可以自定义 DNS Proxy,也就是可以使用应用提供的,或者自定义的 DNS Provider,通过这个 DNS 代理我们可以实现一些自定义的事情,比如不解析广告的请求,或者加速缓存一些请求,但是我万万没想到的是,我安装的这个 AdBlock Master 应用错误地拦截了 SoftBank 的请求,导致了错误。
related
- iOS DNS Proxy
- Ad Blocker Pro