把博客部署到Cloudflare Pages
Cloudflare Pages出来有一段时间了,互联网上有很多讨论,且大多数人都觉得好用。我一直都在用Cloudflare的DNS解析服务,用着很顺手,今天尝试一下把博客内容也放到Cloudflare上面。
从自有VPS迁移到Cloudflare Pages的优缺点
优点:
- 省去一台VPS,节省成本
- 自己的VPS的downtime一般不会低于Cloudflare的全球网络,因此可用性会更好
- 自己的VPS没有anycast,如果触发回源,异地用户流量需要走洲际网络到达VPS,延迟更高
- 免维护。虽然本站是静态站、本身就基本不需要维护,但VPS有系统更新、日志审计等工作,可以完全消除这部分工作
缺点:
- 部署自由度受限:VPS部署的自由度最高,可以在同一Nginx站点后面接入更多其他服务(如动态服务)
- 本站部署较为规范,博客域名下面只有博客,且使用标准的Git + Webhook + build script部署流程,故不受此限制影响
- 可能会付费:免费账户的请求限量10万次/天,如果超出,需要付费
- 就目前本站的规模,暂时不需要考虑这一点
- 接入第三方服务,有潜在lock-in风险:Cloudflare如果未来修改服务策略,用户要被迫接受
- 从他们的slogan可以看出,这是一家有理想的公司,短期快速变卦的机会不大
- 攻击面扩大:在GitHub为Cloudflare App授权,以便Cloudflare获取博客的源文件。认证和授权关系属于新攻击面,可能引入安全漏洞
部署过程
略。
效果评价
整个流程非常丝滑流畅,我之前用过Heroku,虽然Cloudflare Pages的功能还较少,但Heroku非常难以使用,Pages的易用性十分惊艳。
有一个小小的槽点:绑定域名时,如果绑定同账号在Cloudflare托管的域名,可以自动修改域名解析,但是系统还需要检测域名解析是否修改成功。检测通过前,Pages服务不会启动,因此将站点从VPS迁移到Pages时,这期间存在一段很小的downtime。此外,域名在自家平台托管时,这个检测流程应该也可以跳过。