Domain-Name-System

DNS 錯誤和不存在的子域

  • May 10, 2017

當我訪問anyhere.mysite.tld 時,我得到一個DNS 錯誤。但是,如果您觀察anyhere.google.com 和anyhere.example.com 的行為,您會發現沒有DNS 錯誤。

注意:dosnotexist.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 並說該策略也適用於子域。

即,includeSubDomainsStrict-Transport-Security: max-age=15552000; includeSubDomains; preload

在您的情況下,瀏覽器也被 NXDOMAIN 劫持所欺騙,但是由於託管 NXDOMAIN 劫持站點的伺服器不執行 HTTPS(如果會,它無論如何都不會為您的域提供有效的證書,所以會有甚至嘗試都沒有意義),瀏覽器無法連接。

總而言之,由於您的 HSTS 政策,您的域在上述範例中表現最好。好的!

引用自:https://serverfault.com/questions/849354