Cloudflare Workers 自定义域名

CloudFlare 是全球知名 CDN 解决方案和域名注册解析方案供应商,Workers 是其前不久推出的一款基于其强大的 CDN 全球云网络上的无服务器应用程序。

之前分享了《利用 CloudFlare Workers 等平台零成本运行 Google Drive、OneDrive 文件列表清单程序》,通过这种方法创建的域名的比较长(*.*.workers.dev),不太适合分享,因此考虑使用自己的域名来访问。搜了一番,关于这一块基本上都是一笔带过,写得不清不楚,新手很难入手,故而这里做个记录供参考。

原则

只要 CloudFlare CDN 本身支持的域名,都可以作为 CloudFlare Workers 的域名,唯独需要注意的是,该域名需要托管于 CloudFlare上,即域名的 Name Service 必须是 CloudFlare。

当你使用其他教程设置自定义域名,却无法生效的原因,就是自定义域名没有托管在 CloudFlare 上,博主在这里费了老大劲儿才发现。

步骤

主要分两个步骤,一个是自定义域名添加到 CloudFlare 网络,另一个是将该域名指向 Worker 子域名进行关联。这两个步骤先后顺序没有严格要求。

自定义域名

如前面所述,必须将域名(如 vircloud.net)托管于 CloudFlare 才行,在其他 DNS 注册商通过 CNAME 接入是不行的,会出现各种奇形怪状的错误。

域名托管没啥难度,会用 CloudFlare 都会,不再赘述,根据页面提示操作即可:

添加域名

域名添加成功后,新增一笔 DNS 记录,Name为要作为自定义的子域名(如 od.vircloud.net 就是 od),值无所谓,关键要启用代理(Proxied):

添加记录

关联域名

创建 Workers 后,切换到域名的 Wokers 页签(注意是域名这里的,在 Workers 里是找不到关联的地方滴),然后点 Add route 添加关联:

添加路由

Route 填写上一步的子域名 + /*(如: od.vircloud.net/*),Worker 选择需要自定义域名访问的 Worker,注意是选择,所以需要先创建 Worker 再来关联,表示通过这个自定义域名来访问 Worker 服务:

关联路由

完成后就可以通过自定义的域名(如 https://od.vircloud.net)访问 Worker 服务了。

总结

总结一下,两个关键点:

  • 域名必须托管于 CloudFlare;
  • Worker 创建后需添加路由关联;