DAY 138 · 2026-05-18

買一個 domain 等於擁有無限個 subdomain

SLIDES · 6
Day 138 slide 1Day 138 slide 2Day 138 slide 3Day 138 slide 4Day 138 slide 5Day 138 slide 6
1 / 6

買一個 domain dawsonwang.com,你就擁有「無限個」subdomain。sdd.dawsonwang.com、blog.dawsonwang.com、api.dawsonwang.com——全部算同一個地址底下的不同入口,不用另外買,不用另外申請。

如果你跟著 Day 137 蓋了自己的網站,今天這篇接著教你怎麼把第二個、第三個服務也掛上去——不用再買新網址。

透過 Vercel + Cloudflare,瞬間就把 Day 134 做的 iPAS 證照練習網站掛到 https://ipas.dawsonwang.com/

這次我把第二個服務掛上 Vercel 的時候,整個流程不用五分鐘(我自己這次大概 1 分鐘搞定),完全沒碰指令。對比我以前在 VPS(租來的一台 24 小時不關機的伺服器)上裝 nginx(傳統的網站伺服器軟體)+ Let's Encrypt(免費的 SSL 憑證)的日子,現在有手就行。

設定流程前先建立一個概念:DNS 就是網際網路的電話簿——你輸入網址,它告訴瀏覽器去哪台機器找。下面要做的就是去電話簿加幾條記錄。

五分鐘設定 Vercel + Cloudflare subdomain

  1. 進 Vercel project → Settings → Domains
  2. 點 Add Existing,輸入要用的 subdomain,例如 ipas.dawsonwang.com
  3. Vercel 偵測到這個 domain 託管在 Cloudflare,自動跳轉過去要求授權
  4. Cloudflare 顯示要加的 DNS records,按授權
  5. 等 DNS 生效(通常幾分鐘),HTTPS 自動配好

Cloudflare 授權頁長這樣:

Type    Name      Content                                        TTL
TXT     _vercel   vc-domain-verify=ipas.dawsonwang.com,....      10 min
CNAME   ipas       296a...vercel-dns-017.com                     10 min

兩條記錄各自做的事:

  • TXT 給 Vercel 驗證「你真的擁有這個 domain」
  • CNAME 把 ipas 這個 subdomain 指到 Vercel 的伺服器

授權之後,Vercel 自動幫你拉 SSL 憑證(網址前面那個鎖頭)、自動 renew,全部免設定。

為什麼新做法快這麼多?(對比舊的 nginx + Let's Encrypt 流程)

對比之前自架網站的流程:

  1. 開一台 VPS(DigitalOcean / Linode / Vultr…)
  2. 裝 nginx
  3. 用 certbot 跑 Let's Encrypt 拿 SSL 憑證
  4. 登入 DNS 後台(GoDaddy 或 Cloudflare),加一筆 A record,把 subdomain 指到 VPS 的 IP
  5. nginx 寫 server block,根據 server_name 路由到對應後端
  6. 憑證每 90 天 renew,設 certbot 排程
  7. VPS 還要 patch、防火牆要顧

不是不能用,是要管的東西多很多。每加一個 subdomain,就是再寫一份 nginx config、再跑一次 certbot。

順便科普:CNAME、AAAA、A records 是什麼

DNS 就像網際網路的電話簿:你輸入 ipas.dawsonwang.com,它去查「這個名字對應到什麼」。對應的「另一邊」可以是 IP、可以是另一個 domain、也可以是純文字——所以 DNS 記錄分了好幾種。

日常會碰到的主要這四種:

類型 把什麼,指到什麼 範例
A 一個名字 → 一個 IPv4 位址 ipas.dawsonwang.com → 12.34.56.78
AAAA 一個名字 → 一個 IPv6 位址 ipas.dawsonwang.com → 2001:db8::1
CNAME 一個名字 → 另一個名字 ipas.dawsonwang.com → 296a....vercel-dns-017.com
TXT 一個名字 → 一段純文字 _vercel → "vc-domain-verify=..."

A 和 AAAA 是同類,差別只在 IP 版本——A 是 IPv4(像 12.34.56.78),AAAA 是 IPv6(像 2001:db8::1)。VPS 拿到的 IP 通常是 IPv4,就用 A。要同時支援 IPv6 用戶端,再加一筆 AAAA。

CNAME 是「我不寫死 IP,請去查另一個名字」。Vercel、Netlify、CDN 服務都用 CNAME,因為他們伺服器的 IP 會輪替——你的 CNAME 指到他們給的 domain,他們內部自己解析最新 IP,你不用跟著改。

TXT 是「給機器讀的一段純文字」,最常用在驗證擁有權。Vercel 那條 vc-domain-verify=...,就是 Vercel 去查這個 TXT 的內容對不對,對得起來代表這個 domain 真的是你的。

回頭看兩段流程其實在做同一件事:

  • 舊 nginx 流程:手動在 GoDaddy 或 Cloudflare 加一筆 A record,把 subdomain 指到 VPS 的固定 IP
  • 新 Vercel 流程:Vercel 透過 Cloudflare API,自動加一筆 CNAME(指到 Vercel 的 domain)+ 一筆 TXT(驗證擁有權)

差別只是「誰來寫、寫哪一種記錄」。

兩種做法怎麼選

面向 nginx + Let's Encrypt Vercel + Cloudflare
設定速度 一小時起跳 五分鐘
SSL 憑證 手動裝 certbot、自己設 renew 自動
加一個 subdomain 寫 config、拉憑證、reload 點 Add Existing
客製化空間 nginx 能做的都能做 限制在 Vercel 框架內
成本 VPS $5/月起 Vercel 個人方案免費
適合場景 自管後端 Next.js / Vite / Astro 前端

三條路你挑:

  • Vercel + Cloudflare:這篇示範的做法,五分鐘自己點完,完全不用碰指令
  • 找個會的朋友幫你掛:你連後台都不想點,請朋友吃頓飯比較快
  • 自架 nginx + VPS:你已經是工程師,要跑 Python / Go 服務、自架資料庫、寫複雜路由規則

順便:學會看 domain 和 subdomain,防詐用得到

懂這個結構,日常被釣魚連結騙的機率會少一大半。

一個網址的真正擁有者,看的不是「最左邊」,是「最右邊那段品牌名 + .com / .tw / .me 之類的結尾」。從網址右邊往左讀,第一個有意義的品牌名加上那個結尾,那才是真正的 domain。

正常情況:

  • sdd.dawsonwang.com → 擁有者是 dawsonwang.com
  • mail.google.com → 擁有者是 google.com
  • shop.line.me → 擁有者是 line.me

詐騙網址常用的招:

1. 把品牌名塞進 subdomain 或路徑

  • paypal.scam-site.xyz → 擁有者是 scam-site.xyz,不是 paypal
  • apple.id-verify.tw → 擁有者是 id-verify.tw

2. 改一個字(俗稱 typosquatting)

  • goog1e.com(1 替代 l)
  • paypa1.com(1 替代 l)
  • facebok.com(少一個 o)

3. 同形字攻擊

  • аpple.com(俄文 а,肉眼分不出來)
  • gооgle.com(俄文 о)

4. 手機網址截斷

  • 你看到的是「mail.google.com…」,後面其實接著「.evil-site.tw」

下次點銀行、社群、金流連結之前,做一件事:從網址最右邊往左讀,找到第一個品牌名 + .com / .tw / .me…,那才是真正的擁有者。不認識就別點。


想看怎麼從零蓋起第一個網站,回去看 Day 137(https://dawsonwang.com/day/137);想看掛在 ipas.dawsonwang.com 上的 iPAS 證照練習站怎麼做的,回去看 Day 134(https://dawsonwang.com/day/134)。

買一個 domain,能變出無限個 subdomain。看懂這個結構,你既能蓋自己的網站,也不會被詐騙網址唬住。

延伸閱讀
看完整 165 篇 →