使用EdgeOne加速CloudFlareWorkers

问题复现

使用CloudFlareWorkers部署图床系统的时候,想使用EdgeOne加速Workers,但是直接使用EdgeOne加速Workers给的域名会出现522的问题,我一开始以为和Vercle一样是回源HOST的问题,但实际上不是。

Workers是会检测域名的,如果域名没有托管到CF就是直接522

解决方案

我发现可以使用一个托管在CF的域名作为中转,实现使用EO加速

  1. 给在CF托管的域名添加一个解析记录,值随便填写,但是一定要开启小云盾
  2. 添加Workers路由绑定要加速的Workers,注意是添加路由,不是在Workers里面直接绑定域名,一定要使用路由!!!
  3. 使用EdgeOne加速中转域名,注意回源方式HTTPS,回源地址和回源HOST要填写中转域名

其他解决方案,我在网上查的好像可以使用自定义主机名功能实现,但是我试了半天页面成功,感兴趣的可以研究一下,这个方案就是在试的过程中发现的。

总结

CFWorkers会检测域名,但我们可以使用中转域名的方式绕过

必须要有一个托管在CF的域名,我用的eu.org 免费域名

至于会不会出现双层cdn的问题,我感觉不会,因为达到CF的节点就返回Workers的内容了,应该不会优选吧。

在EO配置好缓存可以减少CF的请求次数