教你用GitHub_Pages+Cloudflare免费搭建网站
上篇 《不花一分钱拥有自己的域名》 搞定了免费域名和 Cloudflare 托管。域名现在还是个空壳——它还不知道该指向哪里。
这篇把它接到你的 GitHub Pages 上。做完之后,别人访问 你的名字.ccwu.cc 就能看到你的网站,地址栏还带安全锁。当然,你也可以把它接到自己的其他网页。
前提确认
开始之前确认三件事:
- DNSHE 上域名状态是 "Delegated" (已委派给 Cloudflare)
- Cloudflare 上域名状态是 "活动" (绿色)
- 你有一个 GitHub (没有就去https://github.com注册一个,QQ邮箱、163、outlook都行)新建仓库,开启 GitHub Pages
没开 GitHub Pages?去仓库 → Settings → Pages → Source 选 main 分支 → Save。几分钟后你的网站就在 你的用户名.github.io 上线了。
第一步:在 Cloudflare 添加 DNS 记录
进入 Cloudflare 仪表盘 → 你的域名 → DNS → 记录 。
添加 一条CNAME 记录(根域名):
| 字段 | 填什么 |
|---|---|
| 类型 | CNAME |
| 名称 | @ (代表根域名) |
| 目标 | 你的GitHub用户名.github.io |
| 代理状态 | 开启(橙色云朵) |
点保存。
再添加一条给 www:
| 字段 | 填什么 |
|---|---|
| 类型 | CNAME |
| 名称 | www |
| 目标 | 你的GitHub用户名.github.io |
| 代理状态 | 开启(橙色云朵) |
为什么用 CNAME 而不是 A 记录? GitHub Pages 的 IP 可能会变,用 CNAME 指向
用户名.github.io更稳。而且 Cloudflare 开启了代理(橙色云朵),用户的请求先经过 Cloudflare 全球 CDN,再转发到 GitHub,国内访问速度会快不少。
第二步:在 GitHub Pages 绑定域名
1. 打开 Pages 设置
进入仓库 → Settings → Pages 。
2. 填入自定义域名
在 Custom domain 输入框里,填你的完整域名(如 xiaoming.ccwu.cc ),点 Save 。
GitHub 会自动在仓库根目录生成一个 CNAME 文件,里面写着你的域名。这个文件别删。
3. 等 DNS 验证
保存后 GitHub 会检查 DNS 是否指向了正确的地址。刚开始可能显示 "DNS check in progress"——这是正常的,DNS 传播需要几分钟。
第三步:开启 HTTPS
Cloudflare 的 SSL/TLS 设置:
进入 Cloudflare → 你的域名 → SSL/TLS → 概述 。
加密模式选 「完全(严格)」 。再往下,开启 「始终使用 HTTPS」 。
回到 GitHub Pages 设置页面,勾选 「Enforce HTTPS」 。如果这个选项灰了——别慌,因为流量走了 Cloudflare 代理,GitHub 那一侧看不到原始请求,HTTPS 实际上已经在 Cloudflare 层生效了。
第四步:验证
打开浏览器,输入你的域名(如 xiaoming.ccwu.cc )。
正常情况:网站打开了,地址栏有小锁,一切 OK。
如果打不开:
- 等 5 分钟再试——DNS 传播需要时间
- 检查 Cloudflare DNS 记录的代理状态是不是橙色
- 检查 GitHub Pages 的 Custom domain 有没有填对
这套方案的花费
| 项目 | 费用 |
|---|---|
| 域名(ccwu.cc) | 免费,10 年 |
| Cloudflare DNS + CDN | 免费 |
| GitHub Pages 托管 | 免费 |
| HTTPS/SSL 证书 | 免费(Cloudflare 自动签发) |
对于个人博客、项目展示网页、学习笔记站,这套组合完全够用。我做过的几个小网站都是采用这个。
延伸:如果不用 GitHub Pages
Cloudflare 自己也提供 Pages 服务——直接把代码推到 GitHub,Cloudflare Pages 自动构建和部署。优势是无限带宽(GitHub Pages 每月有 100GB 软限制),国内访问速度可能更快。配置方式差不多,只是目标地址换成 Cloudflare Pages 的域名。