Lazy loaded image
为什么还要通过 Cloudflare Pages
字数 1536阅读时长 4 分钟
2025-7-27
这是个非常有深度的问题。你已经用 Hexo + GitHub Pages 成功部署博客,可以直接通过 GitHub Pages 的链接访问,这时候引入 Cloudflare Pages,看似多此一举,其实它有一些特定场景下的优势

✅ 总结:Cloudflare Pages 不是必须的,但在某些方面比 GitHub Pages 更强,适合更高级的需求。


🧩 三者角色速览:

组件
作用
Hexo
本地生成静态博客文件(HTML + CSS + JS)
GitHub Pages
托管这些静态文件,让别人能访问你的网站
Cloudflare Pages
替代或代理 GitHub Pages 的托管服务,可加速、加功能、安全性增强

🔍 那么为什么还要加 Cloudflare Pages?它能带来什么?

✅ 1. 绑定自定义域名 + HTTPS + CDN 加速 更强更灵活

虽然 GitHub Pages 支持绑定域名,但 Cloudflare 在这方面更专业:
项目
GitHub Pages
Cloudflare Pages
免费 HTTPS
支持,但证书部署慢
支持,自动部署全球 CDN
CDN 加速
有,但仅限 GitHub 自己
🚀 全站 Cloudflare CDN 加速,更快
域名解析
依赖 DNS 服务商
使用 Cloudflare DNS,全球最快之一
智能缓存
不支持
支持,减少请求耗时

✅ 2. 可绕过国内访问限制(一定程度)

GitHub Pages 在某些地区(如中国大陆)访问速度慢或不稳定,但:
  • Cloudflare Pages 是全球 CDN 加速,节点分布广
  • 在国内很多网络环境下比 GitHub Pages 更稳定、打开更快

✅ 3. 可以用 GitHub 当代码仓库,但用 Cloudflare Pages 当前端 CDN

这是目前很多人的组合用法:
  • Hexo 本地生成静态文件
  • GitHub 仓库存代码 + 页面
  • Cloudflare Pages 自动部署,实际对外访问的是 Cloudflare 提供的网址(或者你绑定的域名)
这样你就拥有了:
  • GitHub 的代码托管能力(协作 + 回滚)
  • Cloudflare 的部署性能 + HTTPS + CDN 加速能力

✅ 4. 更丰富的边缘功能(适合高级用户)

Cloudflare Pages 可以配合:
  • Cloudflare Workers(在边缘运行 JS 逻辑)
  • Cache Rules(控制缓存策略)
  • Page Rules / Redirect Rules(做 URL 路由优化)
  • WAF / 防火墙(防止恶意请求)
GitHub Pages 这些都不支持。

🧠 所以,是否需要 Cloudflare Pages,取决于你需求的“高级程度”

需求
是否需要 Cloudflare Pages
只是搭个个人博客,全球访问不多
❌ GitHub Pages 足够
希望国内访问更快
✅ 建议用 Cloudflare Pages
想绑定自己域名并用免费 HTTPS
✅ Cloudflare 更易配置
追求部署速度、缓存控制、加速优化
✅ Cloudflare 强得多
需要 URL 重写、CDN 缓存规则、API 边缘运行
✅ 只能用 Cloudflare

🛠 你可以怎么做?

如果你已经用 GitHub Pages 成功部署了博客,那么你:
  1. 可以先用 GitHub Pages 作为源
  1. 让 Cloudflare Pages 部署这个仓库作为站点源
  1. 绑定你自己的域名到 Cloudflare Pages
  1. 最终用户访问的是 Cloudflare,而非 GitHub

✅ 总结一句话:

Cloudflare Pages 是 GitHub Pages 的增强版,你不一定需要,但用上了会更快、更稳、更专业,特别是在中国大陆访问、绑定域名、想要加速优化的场景下,它就是提升体验的关键一步。

GitHub 托管源代码,Cloudflare Pages 来构建和托管(推荐)

  1. 你把 Hexo 源代码(markdown、配置文件、主题等)(不是 public/ 目录)上传到 GitHub 仓库。
  1. Cloudflare Pages 自动连接该 GitHub 仓库。
  1. 每次 push 后,Cloudflare Pages 自动运行构建命令:
    1. 它会将生成的静态文件部署在 Cloudflare 的服务器上。
    📍最终静态文件 由 Cloudflare 托管
    🌐访问更快、支持自定义域名、更强 HTTPS 控制

    请说一下push是什么意思?push了什么给了谁??构建是什么意思?通过Cloudflare Pages 来构建和托管后,github上面还会留存网页的内容吗?

    你的问题很好,我们来一步步解释清楚这些术语的意思:

    ✅ 一、push 是什么意思?

    在 Git 和 GitHub 的语境下:
    • push 指的是将你本地的代码或内容 “推送”到远程仓库(比如 GitHub)
    • push 的是你本地仓库的提交记录(commits)和文件内容
    • 通常你是将这些内容 push 给 GitHub 的某个仓库,比如 https://github.com/你的用户名/你的项目.git
    🔁 举个例子:
    你在本地使用 Hexo 生成了静态博客网站(html 文件等),然后通过下面的命令把它们推送上 GitHub:
    这就叫一次 push,意思是“把本地的 main 分支内容推送给 GitHub 的 origin 仓库”。

    ✅ 二、“构建”是什么意思?

    构建(build) 就是把源代码(markdown、配置文件、主题等)经过一系列处理,生成可上线的网页文件(如 HTML/CSS/JS 等)。
    对于 Hexo 博客来说:
    • 你写的是 .md 的 markdown 博文。
    • 你运行 hexo generate(或 hexo g)会生成 public/ 文件夹,这个文件夹里才是最终网站。
    💡 但如果你在 GitHub 上只存了源文件(非 public),那就需要一个“构建工具”来帮助你把它在线转换为网页内容,这时就会用到 Cloudflare PagesGitHub Pages 自动构建功能。

    ✅ 三、Cloudflare Pages 是怎么构建的?构建后存在哪里?

    Cloudflare Pages 提供一个自动化流程:
    1. 你把 Hexo 的博客源文件(包括 .md 博文、主题、配置文件等)push 到 GitHub。
    1. Cloudflare Pages 连接了你的 GitHub 仓库,会自动检测 push。
    1. 检测到后,Cloudflare 会运行你的构建命令,例如:
      1. 构建出 public/ 文件夹里的 HTML 静态网页。
      1. 然后 这些网页就部署(托管)在 Cloudflare 的服务器上了,最终用户访问的就是 Cloudflare Pages 上的内容。

      ✅ 四、那 GitHub 上还留有网页内容吗?

      • 如果你是把源代码 push 到 GitHub,并由 Cloudflare 构建,那么:
        • GitHub 上只有源码(如 .md 文件、配置等)
        • GitHub 不会有最终网页内容
      • 如果你自己在本地用 Hexo 构建出 public/ 文件,并 push 到 GitHub Pages 的专门分支(如 gh-pages),那 GitHub 才会存放网页内容。
      📌 总结一下:
      模式
      网页内容最终存在
      GitHub 存什么
      是否用 Cloudflare Pages 构建
      GitHub Pages 构建 & 托管
      GitHub Pages
      源码 + 静态网页
      Cloudflare Pages 托管
      Cloudflare Pages
      只有源码
      本地构建 + GitHub Pages 托管
      GitHub Pages
      源码 + 构建后网页内容
      ❌(本地构建)

      如你有 Hexo 项目结构,我也可以帮你判断适合哪种模式部署。是否需要?
      上一篇
      3款免费神器让你办公效率翻倍!99%的人都不知道的秘密武器
      下一篇
      在飞牛NAS中编写部署一个网速监控记录脚本

      评论
      Loading...