Vinc3nt's Life

購買網域,然後透過 Cloudflare 管理

2024-03-23
tools
blog
cloudflare
domain
dns
最後更新:2025-01-26
3分鐘
556字

Cloudflare 是業界知名的雲端服務公司,以向客戶提供基於反向代理的內容傳遞網路(Content Delivery Network, CDN)及分佈式域名解析服務(Distributed Domain Name Server)為主要業務。

重點是他有免費計劃,很適合給我這種流量不大的使用者管理我的域名。

接下來一步步講解,購買域名、透過 cloudflare 管理域名、並且指定子域名到其他應用。

向註冊商購買網域

我建議使用 namecheap 購買網域,因為資訊相對明確,且也相當便宜。 跟著這一篇教學完成網域購買。

請注意,剛剛購買的域名並不會馬上在 DNS server 被更新,官方的說法是需要等待 24~48 小時,我的經驗是 1 小時就可以用了。

以下用域名 example.com 講解。

設定 Cloudflare,並修改註冊商的 Nameservers

透過 add website 加入 example.com:

  • 使用免費計劃。
  • 跳過 DNS records 環節,等一下在回頭設定。
  • 記住 Cloudflare 提供的兩個 Nameservers,完成 add website。

回到 Namecheap 網站,替換 example.com 的 Nameservers。 到此網域設定完成。

官方說註冊商需要 24 小時更新 Nameservers,實際上大約一個小時就可以了。

細節可以參考 namecheap spport

應用

為 Vercel app 添加新的域名

還記得之前我透過 Vercel 建立了一個靜態部落格嗎? 但 vercel 提供的域名 {project}-{id}.vercel.app 並不好記,我希望能用域名 example.com,加上 CNAME blog, 用域名 blog.example.com 訪問 Vercel app。

有兩種方法可以達成這個目的:

  1. 使用 Cloudflare 作為 DNS Provider。
  2. 使用 Cloudflare 作為 Reverse Proxy。

考慮我們的使用場景,我們使用第一種方法:

設定 Cloudflare

我們回到 DNS Records 頁面,新增以下 record:

TypeNameContentProxyTTL
CNAMEblogcname.vercel-dns.comDNS only2 min

我設置了一個 CNAME record 指向 cname.vercel-dns.com,並且關閉了 Proxy 模式,這樣可以讓 DNS 請求透過 Vercel 的 DNS Server 來解析這個子域名。

更詳細的操作流程可以看 using-cloudflare-as-your-dns-provider

等待 Cloudflare DNS Cache 更新需要一段時間,我們可以用 1.1.1.1 Purge 加速這個過程。

設定 Vercel

  • 在 Project Settings -> Domains 新增 domain blog.example.com
  • 等待 Vercel 準備完成後,透過 blog.example.com 確定可以訪問 Vercel app。
本文標題:購買網域,然後透過 Cloudflare 管理
文章作者:Vincent Lin
發布時間:2024-03-23