網站搬家後還連到舊主機?用 nslookup 比對 DNS 解析結果

網站搬家後,你已經把 DNS 指向新主機,自己卻仍看到舊版網頁;同事用手機網路開啟卻是新版。先別急著重裝網站或清除整站快取。問題可能出在不同 DNS 伺服器取得的答案不同,也可能是網站本身或 CDN 還回應舊內容。

這篇用 Windows 內建的 nslookup 檢查公開 DNS;你需要知道網站實際使用的完整網域,以及 DNS 管理平台中預期設定的記錄。以下的 www.example.com 是範例,請換成自己的完整網址名稱,不要加上 https:// 或頁面路徑。

第一步:比對不同 DNS 伺服器的答案

打開 PowerShell 或命令提示字元,依序執行:

nslookup -type=A www.example.com
nslookup -type=A www.example.com 1.1.1.1
nslookup -type=AAAA www.example.com 1.1.1.1

第一行使用電腦目前設定的 DNS 伺服器;第二、三行向 1.1.1.1 詢問 IPv4 的 A 記錄與 IPv6 的 AAAA 記錄。記下每次回答的名稱與 IP,並比對管理平台設定。若 A 記錄已更新但 AAAA 仍指向舊主機,使用 IPv6 的訪客可能走到不同位置;如果沒有 AAAA 記錄,沒有答案不一定是錯誤。查詢逾時或被封鎖也不等於網站一定故障。

第二步:確認權威 DNS 的設定

在 DNS 託管商的控制台確認正在使用的網域與子網域,檢查 www 是否為 A、AAAA 或 CNAME,並核對目標。若不確定由誰管理,可用下列指令列出網域的名稱伺服器,再向管理者確認:

nslookup -type=NS example.com

若預期由這些伺服器提供公開 DNS,可以指定其中一台再查一次,例如 nslookup -type=A www.example.com ns1.example.net。請把範例名稱換成查到的實際名稱伺服器;伺服器可能因網路或存取政策不回應。權威伺服器已回新答案,但一般 DNS 仍回舊答案時,先檢查記錄的 TTL 並等待快取更新;TTL 是判斷線索,不代表所有使用者必定在同一秒更新。

如果同名記錄啟用了 Cloudflare 代理,公開查詢通常會看到 Cloudflare 的 IP,而不是主機的來源 IP。此時要到 Cloudflare DNS 控制台核對來源記錄,不能因為查到 Cloudflare IP 就判定搬家失敗。CNAME、負載平衡和公司內外使用不同 DNS 的環境,也可能讓答案與單一主機 IP 不同。

第三步:DNS 正確但仍看到舊畫面怎麼辦?

先用無痕視窗或另一個網路重開同一網址,記錄時間與結果。若所有 DNS 答案都符合預期,接著檢查 CDN、網站快取或瀏覽器是否仍回傳舊內容,不要反覆修改 DNS 記錄。需要時可在 Windows 執行 ipconfig /flushdns 清除本機 DNS 用戶端快取,再重新測試一般瀏覽器;這不會清除其他 DNS 伺服器或 CDN 的快取。nslookup 本身不使用 Windows 本機 DNS 用戶端快取,因此 flushdns 前後的 nslookup 結果不一定會改變。

完成後再比對 A 與 AAAA、兩個網路上的網站畫面,以及 DNS 控制台的記錄。若要回復 DNS,先記錄原本的類型、值、TTL 和代理狀態,由有權限的人依變更紀錄調回;回復後同樣需要等待快取更新。網站搬家涉及 WordPress 網址時,也可參考網站搬家後的網址檢查。

參考資料:Microsoft DNS 查詢工具說明、Cloudflare DNS 代理狀態說明。

相連文章

臉書留言

一般留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *