Writing
从零搭建与加速:GitHub 私有仓库与 Cloudflare Pages 绑定实践
记录如何利用 Cloudflare Pages 免费托管 GitHub 私有代码库,化解 DNS 主机名冲突,并实现毫秒级自动化持续交付。
在搭建个人主页与技术出版空间时,很多开发者首先会想到 GitHub Pages。但一旦将 GitHub 仓库设为私有(Private),免费版 GitHub Pages 便无法直接支持(返回 HTTP 422)。
而如果域名本身托管在 Cloudflare,最佳的解法是改用 Cloudflare Pages。
为什么选择 Cloudflare Pages 托管私有仓库?
- 原生支持私有仓库:与 GitHub Pages 仅付费 Pro 账户才支持私有仓库不同,Cloudflare Pages 对 GitHub 私有代码库完全免费。
- 彻底解决 DNS 冲突:很多同学在 Cloudflare 手动配置根域名 CNAME 时,容易遭遇
An A, AAAA, or CNAME record with that host already exists报错。而使用 Cloudflare Pages 时,系统会自动接管并更新正确的记录,实现免冲突绑定。 - 全球 Anycast 边缘分发:代码在提交到 GitHub 仓库瞬间,Cloudflare 边缘环境会自动拉取、编译静态产物,并毫秒级同步至全球 300+ 边缘机房。
避坑与关键实践
- SSL 加密模式选择:确保在 Cloudflare 的 SSL/TLS 设置中选择 Full 或 Full (strict),避免因为 Flexible 模式导致无限重定向循环(
ERR_TOO_MANY_REDIRECTS)。 - 自动化构建预设:对于 Astro 等现代前端框架,构建命令统一配置为
pnpm build,输出目录配置为dist,Cloudflare 会根据pnpm-lock.yaml全自动完成云端编译。
通过这套架构,代码资产可以完全保密地存放在 GitHub Private 仓库中,而对外发布的 Web 站点则拥有企业级的抗攻击能力与顶级的访问速度。