DNS 錯誤和不存在的子域
當我訪問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 並說該策略也適用於子域。
即,includeSubDomains在
Strict-Transport-Security: max-age=15552000; includeSubDomains; preload
在您的情況下,瀏覽器也被 NXDOMAIN 劫持所欺騙,但是由於託管 NXDOMAIN 劫持站點的伺服器不執行 HTTPS(如果會,它無論如何都不會為您的域提供有效的證書,所以會有甚至嘗試都沒有意義),瀏覽器無法連接。
總而言之,由於您的 HSTS 政策,您的域在上述範例中表現最好。好的!