服了 Coding,几年内来回折腾,先是 Coding 和 腾讯云互相扯不清关系,一个人两三个账号,后来又专门用 Coding,现在 Coding Pages 又没了,得去腾讯云。

Cloudflare Pages 的免费政策

  • 同一时间只能部署一个 Pages(实测每次部署大概是 2~3 分钟)
  • 每月 500 次提交
  • 无限站点
  • 无限请求
  • 无限带宽
  • 每个项目最多 10 个自定义域名
  • 每个站点最多 20000 个文件
  • 单个文件最大 25 MB

总之对于个人博客来说是绰绰有余了。

特点

相比 GitHub Pages,Cloudflare 还可以从 GitHub 的私有仓库部署。(吐槽:GitHub 却不支持)

支持 Hugo 等自动部署。

CDN 大陆效果一般,直连大约至少 几百毫秒 一千毫秒。

自动 HTTPS。

支持裸域的 CNAME 与 MX 共存,自动搞定,这太方便了,之前 CloudXNS 至少还要自己手动操作一个其自定义的 LINK 类型,Cloudflare 完全自动处理。

我自己的的邮件用的也是裸域,在 Google Workspace,完全没有影响,收发件正常。

链接末尾的 .html 会自动 308 到不带 .html 的 URL,这有点坑爹了,好歹给个取消的选项呀;百度就更坑爹了,站长验证无法通过 html 文件进行验证。

部署

部署十分简单,现在也都有简体中文了,默认自动响应 Git 新提交部署。

一种是直接将生成好的静态文件作为部署内容,一种是 Cloudflare 自动用 Hugo 等支持的系统做自动化部署。

没试过第二种,我选择第一种,节省部署时间,主要是保证和本地的一致性。

重定向

将带 www 的或不带 www 的也设定为自定义域名。

部署妥善后,可在「页面规则」中设定 www 与不带 www 的互相跳转,例如:

匹配 URL 转发 URL 重定向
www.dvel.me/* https://dvel.me/$1 301

会自动将带 www 的地址 301 重定向到裸域,免费用户可以使用最多三个规则。

其他重定向可参考:利用 Cloudflare Workers 进行批量 301 重定向

其他设置

Cloudflare 推荐启用「完全 SSL」。

在「速度 - 优化」中可以启用「Auto Minify 」「Brotli」「Rocket Loader」。

Cloudflare Pages 的 「Rocket Loader」 可能会导致一些 js 失效,可以把被影响到的 <script> 标签改为 <script data-cfasync="false">,Cloudflare 就会忽略它。

在「网络」中启用「HTTP/3(使用 QUIC) 」「0-RTT 连接恢复 」。

Cloudflare 的电子邮件也已经可以申请测试,建议不管用不用,先点个申请。