当我连接到某些 WiFi 网络时,DNS 解析出现了奇怪的行为。(仅限 iOS 设备)
问题是:Safari 能够正确解析我的域名,但有时它有将近 2 分钟都无法解析,并抛出页面未找到错误。这种情况每隔几个小时就会发生一次。
如果我在 Safari 中输入我的 IP 地址,它就会正常工作。同时,域名解析在 Android 设备上也能正常工作。
一个解决方法是:默认情况下,DNS 查询转到我的 ISP DNS,现在如果我将 DNS 设置更改为指向 Google 或 OpenDNS 或其他流行的 DNS 服务器,问题就会消失。(但我不能将此解决方案用于我的用例,因为我不能要求所有用户更改他们的 DNS 设置)。
Android 设备也在同一个网络中并指向我的 ISP DNS,但由于某种原因,Android 不存在该问题。
似乎只有 Safari/iOS 和我的 ISP DNS 服务器存在问题。有人遇到过类似的问题吗?有什么我可以尝试的吗?
PS 我正在使用 AWS 实例和 Route53 作为 DNS 服务。
答案1
Safari 是一款浏览器,它只使用底层 DNS 机制(在您的 C 库中、您机器上的本地缓存、您的 WiFi 路由器、您的 ISP 维护的任何缓存,以及最终在广阔的互联网中的服务器)。DNS 非常冗余。因此,大多数时候,间歇性服务意味着本地某些东西出现故障(WiFi 连接不良,例如您在阴影中移动;路由器不稳定;WLAN 连接间歇性;...)。
要检查网络连接,应该有某种形式的 ping 命令可用。要调试此类 DNS 问题,Unix 工具是 dig。