Cloudflare Pages 多域名绑定踩坑记录

· cloudflare

最近在用 Cloudflare Pages 托管我的静态网站,遇到了一个关于 SSL 证书与域名不匹配的坑。

背景

我有两个域名:hibson.tech(主域名)和 z-hb.com(新域名)。

遇到的问题

访问 https://z-hb.com 时,浏览器报错:522

查了一番后发现是证书与域名不匹配的问题, 具体表现为:SSL 证书是签发给 hibson.tech 的,而不是 z-hb.com,导致浏览器安全校验失败。

原因分析

1. GitHub Pages/Cloudflare Pages 的证书机制

2. CNAME 方式的局限

解决方案

错误做法(❌)

直接在 Cloudflare DNS 里给新域名加 CNAME,指向已绑定的旧域名,不会自动获得 SSL 证书。

正确做法(✅)

  1. 为每个域名单独创建 Cloudflare Pages 项目或在同一个 Pages 项目中分别绑定自定义域名
  2. 在 Cloudflare Pages 的”自定义域名”设置里,添加你的新域名(如 z-hb.com
  3. Cloudflare 会自动为新域名申请并配置 SSL 证书
  4. 在 Cloudflare DNS 里,将新域名的 CNAME 指向新 Pages 项目的默认域名(如 z-hb.pages.dev),而不是另一个自定义域名

我的实际操作

  1. 重新在 Cloudflare Pages 创建了一个新项目(其实用的还是同一份网站源码)
  2. 部署成功后,在新项目的”自定义域名”里绑定 z-hb.com
  3. 在 Cloudflare DNS 里,把 z-hb.com 的 CNAME 指向新项目的 xxx.pages.dev
  4. 访问 https://z-hb.com,一切正常,SSL 证书也自动签发并匹配了

总结

这个问题本质上是对 SSL 证书机制理解不够深入导致的。希望这篇记录能帮助遇到类似问题的朋友快速解决~


HBin Zhuang 📝