
我今天處理一個專案時,遇到一個很典型的問題:
明明 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 根本沒在運作?
DNS_PROBE_FINISHED_NXDOMAIN
,代表根本查不到任何對應的 IP。
ping yourdomain.com
或
nslookup yourdomain.com
,會發現完全沒有解析結果,或是回傳錯誤訊息。
這些徵兆都清楚說明:不是 DNS 更新延遲,而是 DNS 伺服器根本沒在跑,網站就像是斷了門牌號一樣,任何人都找不到。
👉 如果你還不熟悉 DNS 的最基本概念,可以先看這篇《DNS 是傳送記點,沒設定好誰都傳送不到你家!》。
👉 另外,想進一步理解 DNS Cache 為什麼會造成舊畫面殘留,也可以參考《網站搬家後怎麼還是舊畫面?元兇就是 DNS Cache》。
如何檢查 DNS 是否真的有啟動

當懷疑 DNS 沒有生效時,最直接的方法就是用指令工具檢查。以下是兩個常用方式:
🔍 DNS 檢查指令教學
dig yourdomain.com +short
dig www.yourdomain.com +trace
+trace 可以一路追蹤到權威 DNS,看是不是停在註冊商預設的 NS。
nslookup yourdomain.com 8.8.8.8
nslookup yourdomain.com 1.1.1.1
如果出現 Non-existent domain 或查不到任何紀錄,就代表 DNS 伺服器根本沒在運作。
透過這些測試,可以快速判斷問題到底是「DNS 傳播延遲」還是「DNS 沒有啟動」。
解決辦法:重新送出 Nameserver 設定
如果確定是 DNS 伺服器根本沒有啟動,那解決方法通常比你想像的簡單:回到註冊商後台,找到 Nameserver(Servername)設定頁,即便上面已經顯示正確的紀錄,也務必要 再次按下「送出」或「確認」。這個動作會強制註冊商的系統把權威委派更新出去,正式啟動 DNS 伺服器。
實務上,許多案例都是因為工程師只修改了 A、CNAME、MX 記錄,卻忘了到 Nameserver 頁面再執行一次送出,導致 DNS 系統卡在「未啟動」狀態。只要補做這一步,通常在幾分鐘內就能看到解析恢復正常。
建議在送出後,立刻透過 dig 或 ping 驗證,確認外部解析器已經能抓到新的 IP,這樣才能確保網站真的重新上線。