套用 Cloudflare CDN
本文写于 2019 年,部分功能和操作路径已经变化。 文中缓存规则里的 Auto Minify 已于 2024 年 8 月被 Cloudflare 弃用并从控制台移除;Page Rules 正逐步被 Cache Rules 等新的规则产品取代;Flexible SSL 也不再是推荐模式(现在默认推荐 Full 或 Full Strict)。Rocket Loader 和 Always Online 至今仍然存在,但 Rocket Loader 可能干扰部分站点的 JavaScript,启用前需要自行测试。建议以 Cloudflare 官方最新文档为准,本文仅保留作为当时的配置思路参考。
Cloudflare
Cloudflare 官方网站:https://cloudflare.com
Cloudflare 是什么?
Cloudflare 是一间总部位于旧金山的美国跨国 IT 企业,以向客户提供基于反向代理的内容分发网络及分布式域名解析服务为主要业务。Cloudflare 可以帮助受保护站点抵御拒绝服务攻击等网络攻击,确保该网站长期在线,同时提升网站的性能、加载速度以改善访客体验。
因为 GitHub Pages 的服务器都远在美国,而且被 照顾 得厉害,所以导致在中国直接访问速度非常慢。使用免费的 Cloudflare 反代 + 缓存 GitHub Pages,可以明显提高全球访问速度,包括中国。
Cloudflare 添加域名
进入 Cloudflare Dash,点击 Add a Site,输入域名然后点击 Add site。在购买域名服务商处,设置域名的解析 DNS 服务地址为:
cleo.ns.cloudflare.comlila.ns.cloudflare.com这两条 Nameserver 只是示例,Cloudflare 给每个域名分配的值不同,要以自己控制台里显示的为准。等待全球 DNS 缓存刷新,绑定成功后会收到 Cloudflare 的确认邮件。
添加 A 记录
添加 A 记录,绑定 GitHub Pages 地址:
185.199.108.153185.199.109.153185.199.110.153185.199.111.153HTTPS 配置
在 Cloudflare Dashboard 点击域名进入配置,点击顶部 SSL/TLS,点击 SSL 一栏右侧下拉菜单选择 Flexible。
在 GitHub Pages 仓库网页点击 Settings,下拉到 GitHub Pages,点击取消勾选 Enforce HTTPS。
添加缓存规则
在 Cloudflare Dashboard 点击域名进入配置,点击顶部 Page Rules,然后点击 Create Page Rule。If the URL matches 一栏中填写你的域名(不带 www),域名结尾 /*,比如 abc.com/*。然后在下方点击 Add a Setting 添加规则:
- Auto Minify: HTML、CSS、JavaScript
- Rocket Loader: On
- Browser Cache TTL: 2 hours
- Always Online: On
- Cache Level: Cache Everything
- Edge Cache TTL: 2 hours
- Automatic HTTPS Rewrites: On
然后点击右下方 Save and Deploy,保存与部署规则。
访问测试
等待 Cloudflare HTTPS 证书下发,然后在浏览器输入绑定的域名地址访问。如果一切设置正确,应该会打开发布到 GitHub Pages 的 Hexo Blog。