worker加速套cdn的网站

1.前言

  • 文章仅针对源站部署在自己服务器的网站(非托管在worker或者pages的网站),原始网站为 a.example.com ,加速后访问的网站是 b.example.com
  • 通过1panel反代,已经将 a.example.com 托管到Cloudflare并开启cdn云朵反代。
  • 在部署完成后,a.example.comb.example.com 都可以访问原始内容,但只有后者进行了大陆cdn加速。
  • 注:目前通过本教程部署的网站能加速访问,但对于探针等可能存在websockt连接不上问题。 已经完美解决,抛弃worker的方式加速,见本博客文章《利用双域名加速cdn网站》

2.Cloudflare的woker部署

  • 在Cloudflare首页左侧找到 compute > Workers & Pages ,创建新的worker项目,选择 start with hello world! 后直接 finish 完成部署。
    屏幕截图 2026-04-14 135139.png

  • 进入该worker项目,选择右侧的 edit code,粘贴下面的代码。

屏幕截图 2026-04-15 133236.png

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
export default {
async fetch(request, env) {
let url = new URL(request.url);
if (url.pathname.startsWith('/')) {
var arrStr = [
'XXX.wasmer.app', // 此处单引号里填写你的节点伪装域名
];
url.protocol = 'https:'
url.hostname = getRandomArray(arrStr)
let new_request = new Request(url, request);
return fetch(new_request);
}
return env.ASSETS.fetch(request);
},
};
function getRandomArray(array) {
const randomIndex = Math.floor(Math.random() * array.length);
return array[randomIndex];
}
  • 在worker项目 setting ,分别新建三个变量:ALLOWED_HOST ,指向新的加速域名b.example.comORIGIN_HOST ,指向旧域名 a.example.comORIGIN_PROTOCOL ,指向 https
  • 在DNS解析一个加速的新域名,如b.example.com ,然后通过 cname 指向优选域名,比如 store.ubi.comwww.shopify.commfa.gov.uacdn.tangsengai.com 。之后进入worker对应项目绑定router路由,zone选择该域名的一级域名, example.com。下一栏Route填入 cdn.example.com/* ,Failure mode选择默认即可。

3.效果

屏幕截图 2026-04-15 135906.png