階段 8 · 上線與維運(部署)
DNS
把網域指向實際伺服器或 hosting 的系統。
先用一句話理解
英文全名:Domain Name System
把網域指向實際伺服器或 hosting 的系統。
打個比方
像導航系統,知道門牌要走到哪個地址。
什麼時候會遇到
綁定自訂網域、設定 Email、驗證第三方服務時。
再往深一點看
DNS(Domain Name System)是全球分散式的「電話簿」——當使用者在瀏覽器輸入 `yourapp.com`,DNS 負責查出這個名字對應的伺服器 IP 位址,讓瀏覽器知道要連到哪裡。DNS 和 Domain 的差別在於:Domain 是你買的名字,DNS 是讓那個名字發揮作用的設定系統。你會常碰到幾種 DNS 記錄類型:A record 把網域指向 IPv4 位址、CNAME 把網域指向另一個網域名稱(Vercel 和 Netlify 通常要求設這個)、TXT record 用來驗證網域擁有權(Gmail 設定、Resend 設定 DKIM 都需要)、MX record 指定這個網域的 Email 要由哪台郵件伺服器接收(設定自訂網域收信或寄信都會用到)。DNS 變更不會立即生效,需要等「DNS 傳播」(propagation),通常幾分鐘到幾小時,有時長達 48 小時,這段期間全球不同地區的用戶可能看到新舊不同的設定。
舉個例子
你用 Resend 寄交易型 Email,Resend 要求你在 DNS 設定三筆 TXT record(SPF、DKIM)和一筆 MX record 來驗證你擁有這個網域、讓收件方相信信件是真的從你的網域寄出;設定完後 Resend 的後台會自動驗證這些記錄是否正確,全過程都在你的 DNS 管理介面(例如 Cloudflare)完成。
常見誤解
- - 剛設定完 DNS 記錄就馬上測試連線,看到「無法連線」就以為設錯了,反覆修改設定,其實只是還在 propagation,需要等幾分鐘到幾小時。
- - 混淆 A record 和 CNAME:hosting 平台(Vercel、Netlify)通常要求根網域用 A record、子網域用 CNAME,設反了網站就連不到或 SSL 憑證無法簽發。
- - 在 hosting 平台加了 custom domain,卻忘了同步在 DNS 那邊新增對應記錄,或加了記錄卻指向了錯誤的目標,導致網域和 hosting 兩邊都設了但就是連不通。
相關名詞
相關服務
Cloudflare PagesVercelResend