本博客部署在cloudflare的pages中,一顿操作下来感觉有如下好的地方:
- 免费。无带宽、部署费用,free套餐的并发构建数、每月构建数对小型站点来说是绰绰有余了。
- 访问速度还行。提供服务的
XXXXX.pages.dev析出的地址是位于美国,从国内访问速度还可以。 - 部署简单。使用git或者直接上传文件即可,文档写的很详细。此外可以方便的切换到指定的构建版本。
- 自定义域名接入方便。pages部署后默认会生成一个域名,将自己的域名添加一个cname指向该域名即可完成接入。
- 0配置启用https。无需做任何操作,直接开启https。看了下证书,是即时签发的。
- 可以配套使用cloudflare其他功能。比如web分析,全局重定向等等.
下面记录一下过程
有关部署
我这边直接采用直接上传静态文件的方式进行部署。因为使用的是hugo来进行文件生成,所以直接上传public文件夹即可。
cloudflare提供两种方式进行静态文件上传:一种是直接在页面上上传,另一种是通过wrangler。因为后续会持续进行部署,推荐使用wrangler这个工具进行脚本化,一来是可以相对安全(避免误操作),二来可以简化操作。先在博客目录下进行安全:
# 安装 wrangler
# 直接在hugo博客目录下执行
npm install wrangler --save-dev
然后部署
# 上传public文件夹。期间可能会唤起浏览器进行认证
# 这个指令可以保存为deploy.sh,后续直接run脚本就好了
npx wrangler pages deploy public --branch=main
要本地看public的情况推荐使用python3来看,避免hugo server重新渲染
# 直接在hugo博客目录下执行,效果和在pages后一致
python3 -m http.server --bind 127.0.0.1 --directory public
pages上的额外配置
页面重定向
创建pages后的默认访问站点是XXXXX.pages.dev,我们一般会使用我们自己的域名cname到这个记录上。为了强制只允许通过我们自己的域名来进行访问,可以通过cloudflare的Bulk Redirects功能来将XXXXX.pages.dev的访问都重定向到我们的自己的域名。
具体操作就不赘述了,可以直接参考官方文档。记得在编辑规则的时候一定要勾选上Preserve query string, Subpath matching和Preserve path suffix。
启用web分析
直接在pages应用的manage选项卡中选择开启即可
感受
感觉cloudflare的功能还是比较容易上手的,页面的功能涵盖了零信任和函数计算,对小用户而言是一个不错的选择。