全球 CNAME 紀錄檢查器
CNAME (Canonical Name) 紀錄在網域層級作為別名運作。它不會將主機名稱直接解析為 IP 位址,而是指示 DNS 解析器該目標是另一個網域名稱。當解析器遇到 CNAME 時,它會重新啟動整個查詢序列,查詢新的標準 (canonical) 網域,直到它最終解析為末端的 A 或 AAAA 紀錄為止。這被開發人員大量用於整合第三方 SaaS 平台、內容傳遞網路 (CDN) 或 Vercel 和 Heroku 等 PaaS 環境,在這些環境中,靜態 IP 分配無法保證,且基礎架構經常變動。
Apex 網域限制 (RFC 1034)
DNS 架構中最嚴格的規則之一(定義於 RFC 1034),規定 CNAME 紀錄不能與任何其他紀錄類型共存在同一個節點上。因為網域的根頂點(例如 example.com)在數學上必須持有 SOA (Start of Authority) 和 NS (Name Server) 紀錄才能運作,所以不可能在根節點放置標準的 CNAME。如果您嘗試這樣做,區域 (zone) 將會損壞,導致災難性的郵件 (MX) 和路由故障。為了繞過此限制,現代的代管 DNS 供應商(如 Cloudflare、AWS Route 53 和 DNSimple)開發了專有的「CNAME Flattening」或「ALIAS」偽紀錄。這些系統在伺服器端內部解析 CNAME 目標,並直接向發出請求的用戶端提供合成的 A 紀錄,從而維持嚴格的 RFC 合規性。
子網域接管 (Subdomain Takeovers) 與懸空紀錄 (Dangling Records)
CNAME 紀錄引入了一個稱為子網域接管的嚴重安全漏洞。這會發生在管理員建立一個 CNAME 將子網域(例如 docs.example.com)指向第三方服務(如 GitHub Pages 或 Zendesk 端點)時。如果公司後來刪除了他們的 Zendesk 帳戶,但忘記從其 DNS 區域中移除 CNAME 紀錄,該別名就會變成「懸空」(dangling) 狀態。惡意行為者隨後可以在該第三方供應商處註冊那個被遺棄的端點,並立即取得該受信任子網域的完全控制權,進而實現網路釣魚攻擊和 Cookie 竊取。定期稽核 CNAME 鍊是一項強制性的安全實踐。
解析懲罰與無限迴圈
將別名串聯在一起(例如,將別名 A 指向別名 B,別名 B 再指向別名 C)會帶來顯著的效能懲罰。每一次跳躍都需要用戶端執行額外的 DNS 查詢,從而為首位元組時間 (TTFB) 增加可測量的毫秒數。此外,不當的設定很容易造成無限的路由迴圈,導致解析器中止查詢並回傳 NXDOMAIN 錯誤。在全球範圍內驗證您的別名結構可確保高效、直接的路由。