資安觀念

DNS 基礎:網站換主機時,真正改變的是解析路徑

用網站搬家與解析流程說明 DNS、名稱伺服器、A/AAAA/CNAME 記錄及 TTL,協助判斷更新尚未生效的原因。

DNS 基礎:網站換主機時,真正改變的是解析路徑

網站搬家時,使用者不是直接「連到網域」,而是先透過遞迴解析器取得 DNS 回答,再依 A、AAAA 或 CNAME 找到實際服務。更新沒有立刻生效,多半是快取、名稱伺服器委派、IPv6 或代理層仍指向舊位置。

01

先分清註冊商、名稱伺服器與 DNS 區域

網域註冊商保存網域所有權與 NS 委派;權威名稱伺服器保存實際 DNS 記錄;主機商則提供網站或 API。三者可能是同一家,也可能完全分開。

只在主機控制台新增 A 記錄,但註冊商仍委派到另一組 NS,公開網路就不會看到這次修改。

02

理解常用記錄的解析方向

  • A:主機名稱指向 IPv4。
  • AAAA:主機名稱指向 IPv6。
  • CNAME:別名指向另一個主機名稱,不能與同名的其他資料並存。
  • MX:指定收信主機與優先序。
  • TXT:常用於網域驗證、SPF、DKIM 與 DMARC。
@      300 IN A     203.0.113.10
www    300 IN CNAME kaelith.tw.
api    300 IN AAAA  2001:db8::10
@     3600 IN MX 10 mail.example.net.

區域檔中的尾端句點代表完整網域名稱;漏掉時,某些系統會自動再接上目前網域。

03

TTL 決定快取上限,不是精準倒數

TTL 是解析器可以快取回答的秒數。搬家前 24 到 48 小時先把相關記錄降到 300 秒,切換後仍要等既有高 TTL 快取自然到期。部分 ISP、瀏覽器與作業系統還有額外快取,因此不同使用者看到不同結果並不罕見。

操作原則:先降低 TTL、等待舊 TTL 期滿、再切換 IP;穩定後把 TTL 調回合理值,避免長期增加查詢量。
04

用 dig 分層查,不要只靠線上工具

先看遞迴解析器結果,再直接查權威 NS:

dig kaelith.tw A +short
dig kaelith.tw AAAA +short
dig kaelith.tw NS +short
dig @ns1.example.net kaelith.tw A +noall +answer
dig +trace kaelith.tw

+trace 能看到從根、頂級網域到權威伺服器的委派路徑。若權威答案正確但一般查詢仍是舊值,問題多半在快取;若權威答案也錯,就回到 DNS 控制台修正。

05

同時檢查 IPv4、IPv6、CDN 與 HTTPS

網站看似切換成功,但部分行動網路仍連到舊站,常見原因是 AAAA 沒改。使用 CDN 或反向代理時,DNS 可能只指向代理層,真正的來源站位址要在代理控制台更新。

  • 確認 A 與 AAAA 都有正確回應。
  • 確認新主機憑證涵蓋所有網域別名。
  • 確認 CDN 回源 Host、TLS 與健康檢查。
  • 確認舊主機沒有仍在接收表單、郵件或 webhook。
06

為搬遷保留可快速回復的路徑

切換前記錄舊 DNS 值、TTL、主機設定與憑證。新站先用 hosts 檔或測試子網域驗證,再改正式記錄。若需要回復,只改回前一組已驗證值,不要在故障期間同時調整多個不相關設定。

搬遷完成後至少保留舊主機一個完整 TTL 週期,並監控 4xx、5xx、表單、登入與外部整合流量。

切換完成判定

權威 DNS、主要公共解析器、IPv4、IPv6、CDN 回源與 TLS 都指向新環境,且舊主機不再收到有效業務流量。