可使用eu.org或co.ro等免费域名平台注册二级域名,通过授权cloudflare dns、添加cname验证、配置重定向及构建路径,实现cloudflare pages免付费自定义域名部署。

如果您希望为 Cloudflare Pages 项目配置一个无需付费的自定义域名,但又不使用 Cloudflare 的免费子域名(如 *.pages.dev),则需借助第三方免费域名服务与 Cloudflare DNS 的配合实现。以下是完成此目标的具体操作步骤:
一、注册并获取免费二级域名
部分域名注册商提供永久免费的二级域名,例如 Freenom(已停止新注册)已不可用,当前可替代方案是使用 eu.org 或 co.ro 等仍开放注册的非商业免费域名平台。这些域名需通过其官网提交申请并通过人工审核后方可获得。
1、访问 https://www.eu.org 官网,点击 “Register a domain” 进入注册流程。
2、填写真实有效的个人信息及组织信息(必须为非营利性质),选择可用的域名(如 yourname.eu.org)。
3、提交申请后等待 3–7 个工作日 的人工审核,审核通过后将收到激活邮件。
4、登录 eu.org 账户,在 “My Domains” 页面确认域名状态为 “Active”,并记录 DNS 管理入口地址。
二、将域名 DNS 授权交由 Cloudflare 管理
Cloudflare Pages 要求自定义域名必须由 Cloudflare 的 DNS 服务器解析,因此需将免费域名的 NS 记录替换为 Cloudflare 提供的名称服务器地址。该步骤使 Cloudflare 获得对该域名的完整 DNS 控制权。
1、登录 Cloudflare,点击右上角 “Add a Site”,输入您刚注册的免费域名(如 yourname.eu.org)。
2、在 DNS 扫描完成后,点击 “Continue”,选择免费套餐(Free Plan)。
3、进入 DNS 设置页面,复制页面中显示的四个 NS 记录值(如 lara.ns.cloudflare.com、todd.ns.cloudflare.com 等)。
4、前往 eu.org 域名管理后台,在 “Nameservers” 或 “DNS Settings” 区域,删除原有 NS 记录,粘贴并保存 Cloudflare 提供的四个 NS 地址。
三、在 Cloudflare Pages 中添加并验证自定义域名
Cloudflare Pages 需要明确绑定已由其 DNS 托管的域名,并通过 CNAME 或 ALIAS 记录校验所有权。验证通过后,Pages 会自动为其签发有效 TLS 证书。
1、进入 Cloudflare Pages 项目设置页,点击 “Custom domains” → “Add a custom domain”。
2、输入完整域名(如 yourname.eu.org),点击 “Add domain”。
3、Cloudflare 将显示一条待添加的 CNAME 记录:主机名为 @ 或 yourname,目标值为 your-project.pages.dev。
4、返回 Cloudflare DNS 仪表板,在 DNS 记录列表中手动添加该 CNAME 记录,代理状态(Proxy status)设为启用(橙色云图标)。
5、等待 DNS 生效(通常需 30 秒至 2 小时),页面将自动切换为 “Active” 状态并显示绿色勾选标记。
四、配置 Pages 项目的构建输出路径与重定向规则
为确保所有路径请求均被正确路由至静态资源,需在 Pages 项目中明确指定 _redirects 文件或 platform-specific 重写逻辑,避免因路径未匹配导致 404 错误。
1、在项目根目录创建文件 _redirects(无扩展名),内容为:
/* /index.html 200
2、若使用框架(如 Hugo、Next.js),在构建配置中确认输出目录为 public 或 dist,且该目录被 Pages 构建设置识别为 “Build output directory”。
3、在 Pages 构建设置中,将 “Destination directory” 明确设为 public,并确保 “Build command” 为空或仅含框架默认构建指令(如 npm run build)。
4、触发一次新部署,检查部署日志中是否出现 “Uploaded 127 files” 及 “Custom domain verified” 字样。
五、处理 eu.org 域名的特殊限制与备用方案
eu.org 对域名用途有严格限制,仅允许用于非商业、非盈利、教育或开源项目;若被检测到违规,域名可能被立即注销。因此需准备至少一种备用免费域名来源以保障持续可用性。
1、备用选项之一是注册 co.ro 免费域名:访问 https://www.co.ro,选择可用名称并完成邮箱验证即可即时激活。
2、另一备用路径是使用 GitHub Pages + Cloudflare 反向代理:将 Pages 项目部署至 github.io,再在 Cloudflare DNS 中添加 CNAME 指向该地址,并启用代理模式。
3、对于 co.ro 域名,同样需将其 NS 记录替换为 Cloudflare 提供的服务器,并在 Pages 中重复添加自定义域名流程。
4、注意 co.ro 不支持通配符证书自动签发,首次访问时需等待 Cloudflare 完成证书预取(约 5–15 分钟),期间可能短暂显示“SSL_ERROR_BAD_CERT_DOMAIN”。










