為什麼網站 DNS 設定好還是無效?工程師揭開註冊商最常見的陷阱

我今天處理一個專案時,遇到一個很典型的問題:

明明 DNS 紀錄都設定完畢了,卻怎麼樣都沒生效。 很多人第一直覺會懷疑是不是快取(Cache)還沒更新,或是 TTL 設太長。

但深入檢查後才發現,問題根本不在這些地方, 而是因為註冊商那邊的 Nameserver(Servername)那頁完全沒啟動, 也就是說,整個網站在那一刻其實完全沒有任何 DNS 伺服器在運作。

換句話說,即使代管平台(像是 Cloudflare、Route53…)能看到新增的 A / CNAME / MX 紀錄,外部網路的解析器(像是 8.8.8.8、1.1.1.1)查詢時,依舊回傳的是註冊商預設的 NS。這種情況下,Dashboard 顯示「紀錄已更新」,但網站卻還是完全沒反應,真正原因就是 DNS 伺服器根本沒有被啟動,導致 DNS 設定無效

常見徵兆:DNS 沒有運作時的錯誤訊息

當註冊商的 Nameserver(Servername)頁面沒有啟動時,最大的徵兆就是:網站完全沒有對外的 DNS 伺服器在運作。這種情況下,你可能會遇到以下幾種狀況:

📌 如何判斷 DNS 根本沒在運作?

1
瀏覽器顯示「找不到伺服器 IP 位址」
例如 Chrome 出現 DNS_PROBE_FINISHED_NXDOMAIN,代表根本查不到任何對應的 IP。
2
Ping 或 nslookup 沒有回應
嘗試用 ping yourdomain.comnslookup yourdomain.com,會發現完全沒有解析結果,或是回傳錯誤訊息。
3
郵件服務同步掛掉
如果 MX 紀錄 一併失效,公司信箱也會出現「郵件無法傳送」的錯誤,信件無法正常收發。

這些徵兆都清楚說明:不是 DNS 更新延遲,而是 DNS 伺服器根本沒在跑,網站就像是斷了門牌號一樣,任何人都找不到。


如何檢查 DNS 是否真的有啟動

當懷疑 DNS 沒有生效時,最直接的方法就是用指令工具檢查。以下是兩個常用方式:

🔍 DNS 檢查指令教學

1
dig 指令(Linux / macOS / Windows 安裝 WSL)
dig yourdomain.com +short
dig www.yourdomain.com +trace
+short 會回傳目前解析到的 IP,如果沒有結果就代表 DNS 沒啟動。
+trace 可以一路追蹤到權威 DNS,看是不是停在註冊商預設的 NS。
2
nslookup 指令(Windows / macOS)
nslookup yourdomain.com 8.8.8.8
nslookup yourdomain.com 1.1.1.1
後面加上 DNS 伺服器(Google 8.8.8.8 或 Cloudflare 1.1.1.1)查詢,能確定外部世界是否真的抓得到紀錄。
如果出現 Non-existent domain 或查不到任何紀錄,就代表 DNS 伺服器根本沒在運作。

透過這些測試,可以快速判斷問題到底是「DNS 傳播延遲」還是「DNS 沒有啟動」。

解決辦法:重新送出 Nameserver 設定

如果確定是 DNS 伺服器根本沒有啟動,那解決方法通常比你想像的簡單:回到註冊商後台,找到 Nameserver(Servername)設定頁,即便上面已經顯示正確的紀錄,也務必要 再次按下「送出」或「確認」。這個動作會強制註冊商的系統把權威委派更新出去,正式啟動 DNS 伺服器。

實務上,許多案例都是因為工程師只修改了 A、CNAME、MX 記錄,卻忘了到 Nameserver 頁面再執行一次送出,導致 DNS 系統卡在「未啟動」狀態。只要補做這一步,通常在幾分鐘內就能看到解析恢復正常。

建議在送出後,立刻透過 dig 或 ping 驗證,確認外部解析器已經能抓到新的 IP,這樣才能確保網站真的重新上線。

常見問題 FAQ

返回頂端