部署 Pages 项目时,你可能希望将自定义域名(或子域名)指向站点。
要添加自定义域名:
-
在 Cloudflare 仪表板中,前往 Workers & Pages 页面。
Go to Workers & Pages ↗ -
选择你的 Pages 项目 > Custom domains。
-
选择 Set up a domain(设置域名)。
-
输入你希望用于 Cloudflare Pages 站点的域名,然后选择 Continue(继续)。
若部署到 apex 域名(例如 example.com),需将站点添加为 Cloudflare zone 并 配置 nameserver。
要在 Pages 项目中使用自定义 apex 域名(例如 example.com),配置 nameserver 指向 Cloudflare 的 nameserver。若 nameserver 成功指向 Cloudflare,Cloudflare 将为你创建 CNAME 记录。
若部署到子域名,站点无需是 Cloudflare zone。你需要 添加自定义 CNAME 记录 将域名指向 Cloudflare Pages 站点。要将 Pages 项目部署到自定义 apex 域名,该自定义域名必须是创建 Pages 项目所在 Cloudflare 账户上的 zone。
若不想将 nameserver 指向 Cloudflare,必须创建自定义 CNAME 记录以将子域名与 Cloudflare Pages 配合使用。登录 DNS 提供商后,为所需子域名(例如 shop.example.com)添加 CNAME 记录。该记录应指向自定义 Pages 子域名,例如 <YOUR_SITE>.pages.dev。
| 类型 | 名称 | 内容 |
|---|---|---|
CNAME |
shop.example.com |
<YOUR_SITE>.pages.dev |
若站点已作为 Cloudflare zone 管理,确认 DNS 记录后将自动添加 CNAME 记录。
要从 Pages 项目分离自定义域名,必须修改 zone 的 DNS 记录。
-
在 Cloudflare 仪表板中,前往网站的 DNS Records(DNS 记录) 页面。
Go to Records ↗ -
找到 Pages 项目的 CNAME 记录。
-
选择 Edit(编辑)。
-
选择 Delete(删除)。
-
在 Cloudflare 仪表板中,前往 Workers & Pages 页面。
Go to Workers & Pages ↗ -
选择你的 Pages 项目。
-
前往 Custom domains(自定义域)。
-
选择自定义域名旁的 三点图标 > Remove domain(移除域名)。
完成这些步骤后,Pages 项目只能通过创建项目时选择的 *.pages.dev 子域名访问。
要禁用对项目提供的 *.pages.dev 子域名的访问:
-
对预览(
*.{project}.pages.dev)使用 Cloudflare Access。请参阅 自定义预览部署访问。 -
将生产 Pages 项目关联的
*.pages.devURL 重定向到自定义域名。可使用账户级 Bulk Redirect 功能将*.pages.devURL 重定向到自定义域名。
缓存指南请参阅 缓存和性能。
Certification Authority Authorization(CAA)记录允许你将证书签发限制到特定证书颁发机构(CA)。
若 CAA 记录不允许 Cloudflare 为你的自定义域名签发证书,向 Pages 项目添加 自定义域名 时可能出现问题。
要解决此问题,添加必要的 CAA 记录以允许 Cloudflare 为你的自定义域名签发证书。
example.com. 300 IN CAA 0 issue "letsencrypt.org"
example.com. 300 IN CAA 0 issue "pki.goog; cansignhttpexchanges=yes"
example.com. 300 IN CAA 0 issue "ssl.com"
example.com. 300 IN CAA 0 issuewild "letsencrypt.org"
example.com. 300 IN CAA 0 issuewild "pki.goog; cansignhttpexchanges=yes"
example.com. 300 IN CAA 0 issuewild "ssl.com"更多信息请参阅 Certification Authority Authorization (CAA) 常见问题。
设置自定义域名后,若将 DNS 条目更改为指向其他目标(例如源站),自定义域名将变为 inactive。若随后将 DNS 条目改回指向自定义域名,使用该 DNS 条目访问网站的用户在域名再次激活前会遇到错误。若希望临时将流量从 Pages 项目重定向而非更改 DNS 条目,使用 Origin rule 或 redirect rule 更合适。
- 调试 Pages - 查看部署 Pages 项目时的常见错误。