DNS 的 CNAME是什麼?|Skycloud

在 DNS 設定中,CNAME是一種常見但經常被誤用的記錄類型。它允許一個子網域作為另一個網域的別名,實現名稱解析上的重用與集中管理。在實務上,CNAME 廣泛應用於第三方服務整合、多語系子網域配置、或將不同子網域導向同一主機資源。
➤什麼是CNAME
➤CNAME的作用與場景
➤如何設定CNAME?
➤CNAME 常見錯誤
什麼是CNAME
CNAME(Canonical Name Record) 是一種 DNS 記錄,CNAME 的作用是將一個網域名稱指向另一個網域名稱,而不是直接對應到 IP 地址,像這樣...
www.example.com 指向 www.skycloud.com.tw
簡單來說,CNAME 就像是 DNS 的「轉址」或「別名設定」,幫助我們讓多個子網域共用同一組設定,而 CNAME 通常會用在使用第三方平台、架設多語系網站 或是 CDN 加速服務的情況上。
CNAME的作用與場景
CNAME 的作用是當你需要讓多個網域名稱指向同一個目的地時,不需要為每個網域都單獨設定 IP,你只需要透過 CNAME 指向的方式,指向原始網域即可。
這種方式能大幅減少管理負擔,尤其當主要網域的 IP 地址改變時,我們不需要一一更新所有,只需要更新主要網域即可,這樣其他使用 CNAME 的網域也會自動同步。以下為常見的幾個應用場景。
設定 wow 網址為主網域別名
舉例來說,我想將子網域 wow.example.com 指向 example.com,使用 CNAME 可讓使用者輸入 wow.example.com 時,自動指向主網域 example.com。使用第三方服務
使用第三方服務,如 CDN、電商平台或部落格平台...等,這些平台通常會提供一組網域名稱,讓我們透過 CNAME 將自己的子網域指向該平台,舉例來說會像這樣:「wow.example.com 指向 example.cdn.com」。多語系網站
舉例來說,jp.example.com、tw.example.com、en.example.com…等,都指向相同的主機,那麼就可以使用 CNAME 統一指向同一個主機名稱,便於集中控管或未來變更。(CNAME 能用於多語系網站,但需要後端有語系分流能力。)子網域共用同一主機 IP
當多個子網域實際上是部署在同一台伺服器上,可透過 CNAME 指向同一主機名稱,像這樣:blog.example.com、shop.example.com 指向 host.example.com。
如何設定CNAME?
要設定 CNAME 其實很簡單,只要我們有權限操作網域的 DNS 控制台就可以透過幾個步驟快速完成。
不過在設定前,我們需要兩個資料,一個是子網域,如 www.example.com、shop.example.com、cdn.example.com等,另一個則是 CNAME 要指向的網域,如 example.com、example.cdn.com等。
登入 DNS 管理平台
找到 DNS 記錄管理區
選擇「新增記錄」
選擇記錄類型為「CNAME」
填寫:
Name/主機名稱 →輸入子網域前綴(不含主網域),如 www、shop、cdn
Type/類型 →選擇CNAME
Value/指向 →輸入要指向的主機名稱,如 example.com、example.cdn.com
儲存記錄並等待生效
※注意
CNAME 不可設定在根網域(如 example.com),只能用於子網域(如 www.example.com)
同一個子網域如果已有 CNAME,就不能再新增其他類型的 DNS 紀錄(例如 A、MX、TXT 等),否則會衝突或無法生效。
CNAME 常見錯誤
CNAME 設定雖然看起來很簡單,但其實還是會有不少人遇到錯誤的問題,導致網站無法正確運作或解析失敗,以下列出幾個最常見的錯誤類型與應對的排錯方式。
錯誤設在根網域
CNAME 不能用在根網域(如 example.com),只能用在子網域(如 www.example.com)。根網域請改用 A 記錄。指向錯誤主機名稱
輸入錯誤或拼錯,如漏掉 .com,會導致解析失敗。與其他記錄衝突
同一子網域不能同時有 CNAME 與 A、MX、TXT 等其他記錄,若已有其他記錄,就不要再加入 CNAME,或改用其他方式。設定後沒馬上生效
DNS 有快取機制,可能需要等幾分鐘到幾小時才會更新,我們可以等待 TTL 時間,或清除本地 DNS 快取再測試。(TTL是 DNS 記錄的快取時間,單位為秒。)
延伸閱讀:
✔CDN概念全解析!一篇搞懂CDN的原理、用途與案例分析!
✔DNS是什麼?DNS運作流程、設定教學、攻擊手法全解析!
✔東南旅遊選擇騰雲運算 CDN,成本節省 30%+ 在地支援更即時|案例分享
✔DNS 的 A 紀錄是什麼?