我的设置:
我有一个可以通过 WIFI 接入点访问的 Web 服务器,但该服务器完全处于离线状态。它仅提供对本地托管网站的访问。
客户端通过 DHCP 获取其 IP 地址和 DNS 服务器(即本地服务器)。服务器本身将特定域解析为本地 Web 服务器(例如 www.offline.com -> 192.168.0.1)。
客户端连接正常,但当我在 Google Chrome 中输入 URL 时,它立即显示没有互联网连接(这是真的,但 URL 无论如何都应该可以访问)。大约 10 秒后,页面加载正常。当我重新加载网站时,它会立即出现。MacOS 和 iOS 上的 Safari 不会出现此行为。
所以我的问题是:Google Chrome 为什么以及如何检查是否有可用的互联网连接?是否可以阻止 Chrome 执行此操作,以便立即访问网站而不等待 10 秒钟?
答案1
我找到了一个解决方案:
使用 Wireshark,我注意到 Google Chrome 会向 DNS 解析器(在我的情况下是 dnsmasq)询问一些随机域名,以防止恶意的万能 DNS 解析器。Dnsmasq 没有正确回答,所以它首先阻止了它。
我必须配置 dnsmasq
no-resolv
现在 Google Chrome 会立即加载该页面。