很多人卡在"建站第一步"——买域名。其实如果你只是想放个静态博客、作品集、文档站,整条链路可以做到 0 元:

免费二级域名(dpdns.org)→ 托管到 Cloudflare → 用 Pages 部署 → 绑定自定义域名

全程不需要服务器、不需要备案、不需要信用卡。下面是我实测的完整流程。


一、方案总览

你的静态文件(HTML/CSS/JS)
        │  上传 / Git 推送
        ▼
Cloudflare Pages  ──►  your-project.pages.dev(自带免费 HTTPS)
        │  绑定自定义域名
        ▼
xxx.dpdns.org  ◄──  NS 指向 Cloudflare

三个免费组件各司其职:

组件 作用 费用
DigitalPlat FreeDomain(dpdns.org) 提供免费二级域名 0
Cloudflare(Free 计划) DNS 解析 + CDN + 免费 SSL 0
Cloudflare Pages 静态托管,无限带宽/请求 0

二、准备清单

提前说明:免费域名是"能用但不保证长期"的东西,别拿它做主力站或商业项目。


三、Step 1:注册免费域名(约 2 分钟)

  1. 打开 DigitalPlat FreeDomain 面板:https://dash.domain.digitalplat.org/
  2. 用 GitHub 账号登录(OAuth 授权)。
  3. 进入 Register / 注册域名,填写:
    • 前缀:比如 myblog、zhangsan
    • 后缀:选择 dpdns.org
  4. 提交后会做一次反滥用检查,通过后域名就归你了。

免费账号一般有域名数量上限(目前是几个),够个人用。具体规则以面板说明为准,官方界面可能调整。

拿到域名后先别急着关页面,下一步要用它。


四、Step 2:在 Cloudflare 添加站点(约 2 分钟)

  1. 登录 Cloudflare Dashboard → Add a site(添加站点)
  2. 输入你的域名:xxx.dpdns.org
  3. 计划选择 Free(免费)
  4. Cloudflare 会扫描现有 DNS 记录,新域名没记录,直接点 Continue
  5. 关键一步:记下它分配给你的两个 Nameserver,形如:

hello.ns.cloudflare.com
lmzxe.ns.cloudflare.com

(每个人的不一样,照抄你自己的)

此时 Cloudflare 显示站点状态为 Pending(待验证),正常。


五、Step 3:把 NS 改到 Cloudflare(1 分钟 + 等待)

回到 DigitalPlat 面板:

  1. 找到你的域名 → Manage / Nameservers / DNS
  2. 把原来的 NS 删掉,填入 Cloudflare 给的那两个
  3. 保存

然后就是等。这是全流程唯一不可控的环节:

Cloudflare 会发邮件通知你 "Site is active"。也可以直接刷新 Dashboard 看状态是否变成 Active。


六、Step 4:用 Cloudflare Pages 部署(约 3 分钟)

等 NS 生效的同时,先把站点部署好。

方式 A:直接上传(最快,推荐新手)

  1. Dashboard → Workers & Pages → Create → Pages → Upload assets
  2. 项目名填 myblog(会得到 myblog.pages.dev)
  3. 把你的静态文件拖进去,或者上传一个 zip
  4. 点 Deploy

方式 B:连接 Git(适合长期维护)

  1. 同上进入 Pages → Connect to Git
  2. 授权 GitHub,选择仓库
  3. 构建配置:
    • 纯静态:Build command 留空,Output directory 填 /(或你的 dist)
    • 框架(Vite/Next/Astro 等):按框架默认配置填
  4. 保存并部署

没有现成文件?用这个最小示例,存成 index.html:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>我的免费网站</title>
  <style>
    body {
      margin: 0; min-height: 100vh;
      display: grid; place-items: center;
      font-family: system-ui, -apple-system, sans-serif;
      background: linear-gradient(135deg, #667eea, #764ba2);
      color: #fff; text-align: center;
    }
    h1 { font-size: 2.5rem; margin-bottom: .5rem; }
    p  { opacity: .85; }
    code { background: rgba(255,255,255,.2); padding: 2px 8px; border-radius: 6px; }
  </style>
</head>
<body>
  <div>
    <h1>网站上线了</h1>
    <p>托管在 <code>Cloudflare Pages</code></p>
  </div>
</body>
</html>

部署完成后先访问 myblog.pages.dev 确认页面正常。


七、Step 5:绑定自定义域名(1 分钟)

这一步是整个方案里最爽的地方——因为域名已经在 Cloudflare 托管,绑定全自动。

  1. 进入 Pages 项目 → Custom domains → Set up a custom domain
  2. 输入 xxx.dpdns.org
  3. 点确认,Cloudflare 会自动在你的 DNS 里加一条 CNAME 记录(指向 myblog.pages.dev),并自动开启代理(橙色云朵)
  4. 等待 SSL 证书签发,通常 1~5 分钟

浏览器打开 https://xxx.dpdns.org,出现小锁图标 = 全流程完成。

因为 Pages 支持 apex 域名的 CNAME 展平(CNAME Flattening),xxx.dpdns.org 这种"根"域名也能直接绑,不需要套 www。


八、验收清单

逐条打勾,有问题看下一节的排错:


九、常见坑 & 排错

  1. Cloudflare 一直 Pending
  1. 自定义域名绑定失败,提示 "CNAME record already exists"
  1. 打开显示 522 / 521
  1. HTTPS 报错 / 证书无效
  1. 域名突然解析不了
  1. 在国内访问慢或不稳定

十、几个进阶玩法

搞定基础版后,可以顺手加:

自定义 404 页面
在项目根目录放 404.html,Pages 会自动识别。

URL 重定向 / 短链
放一个 _redirects 文件:

/old /new 301
/gh https://github.com/你的用户名 302

自动部署
用方式 B 连接 Git,之后每次 git push 自动构建发布。

Web Analytics
Pages 项目 → Metrics → 开启 Cloudflare Web Analytics,免费且无 Cookie,不用改代码。

多环境预览
Pages 会为每个非主分支生成独立的预览域名,改版测试很方便。


十一、说点实话

这套方案的优势很明确:零成本、零运维、全球 CDN、自动 HTTPS、无限带宽,用来放个人博客、简历站、文档、Demo 演示,体验不输付费方案。

但必须清楚它的边界:

我的建议:用它做"第一站"和练手项目非常合适;哪天站做起来了、内容有沉淀了,再花几十块买个 .com 或 .dev,迁移到 Cloudflare 只需改一次 NS —— 因为整个架构没变,只是换了根域名而已。

真正的成本从来不是钱,是你迟迟不开始。


本文涉及第三方免费服务,其规则、界面和可用性可能随时变化,以官方文档为准。

❤️ 转载文章请注明出处,谢谢!❤️