通过 Cloudflare Workers 处理 Azure Search 请求

在更换主题之前本站一直通过 AJAX 配合 Azure Search 来实现站内搜索,后来随着我把主题换成了自制的简陋主题『Coda』,由于懒惰以及不想使用 Javascript 等原因站内搜索也被顺便舍弃。再后来我把网站搬到了 Cloudflare Workers Sites,在感叹 Cloudflare Workers 如此好用的同时,也起了薅羊毛的歹念。这羊毛薅起来也简单,只需要通过 Workers 来处理搜索请求,然后把渲染好的网站返回即可,这样就可以在后端完成渲染从而避免在前端使用 Javascript,正所谓己所不欲……哎不对当我没说

GitHub Actions 与 Cloudflare Workers Sites

『终章』从建站开始,就一直托管在自己的 VPS 上,并且通过 GitHub Webhook 以及自制后端实现自动部署。不过最近把网站托管到了 Cloudflare Workers Sites。选择它的主要原因是自己一直使用 Cloudflare 的 DNS 和 CDN,其实类似的静态托管服务 Vercel 以及 Netlify 也可以考虑一下。而这类服务的优点也大多类似:

  • 一般会部署到多个网络节点,比如 Workers Sites 就会部署在 Cloudflare 遍布世界的200多个节点上。当然,我自然是不会缺少这区区200个节点的,我缺少的是遍布世界各地的读者。
  • 自带 CDN 并且与托管网站的服务器处于同一数据中心,节省了回源时间。
  • 较高的 SLA。
  • 不需要自己处理证书,虽然现在 Let's Encrypt 已经足够普及并且Certbot 也非常易用,不过能多偷一点懒也是很好的。

由于 Workers Sites 不提供 CI/CD,所以我选择了使用 GitHub Action 来负责生成网站、处理杂物,以及部署到 Workers Sites。