hen*_*ght -1 domain-name-system github
当我访问 nothinghere.mysite.tld 时,出现 DNS 错误。但是,如果您观察 anyhere.google.com 和 anyhere.example.com 的行为,您将看到没有 DNS 错误。
注意:doesnotexist.mysite.tld、random.mysite.tld等不存在;所有不存在的子域似乎都受到影响。在这种情况下出现 DNS 错误的原因可能是什么?
注 2:我将 GitHub Pages 与 CloudFlare 一起使用。
更新:如果我清除浏览器缓存,则不会发生 DNS 错误。我在 random.lsquo.com 上看到的行为与在 random.google.com 上看到的行为完全相同。这很好,因为这正是我想要的。但是,当我再次访问 lsquo.com 并再次访问 random.lsquo.com 时,我再次看到 DNS 错误。
首先,在所有提到的示例中出现 DNS 错误是正常的(它们都random.google.com
没有解析,也没有解析random.lsquo.com
)。
但是,在查看您的屏幕截图时,重要的是要注意您实际上并没有收到 DNS 错误random.lsquo.com
,而是收到“连接超时”。
您配置的 DNS 服务器(可能由您的 ISP 提供)似乎会进行 NXDOMAIN 劫持,在这种情况下,它们会生成无法解析的名称,即 NXDOMAIN 状态,解析到某些为其产生收入的页面。
访问您的网站后改变行为的是您使用 HSTS 并说该策略也适用于子域。
即,includeSubDomains在Strict-Transport-Security: max-age=15552000; includeSubDomains; preload
在您的情况下,浏览器也被 NXDOMAIN 劫持所欺骗,但是由于托管 NXDOMAIN 劫持站点的服务器不执行 HTTPS(如果这样做,它无论如何都不会为您的域提供有效证书,因此即使尝试也无济于事),浏览器无法连接。
总而言之,由于您的 HSTS 政策,您的域在上述示例中表现最好。好的!