由于cf workers的域名在国内被污染了,我们暂时无法访问我之前介绍的heroku的workers反代网址,导致节点无法使用,所以就有了本期教程
自定义域名
1.这一步你得需要一个域名,一个cf账号
2.登录你的cf账号,点进你的域名,点DNS选项,如图添加一个cname解析到workers的域名,不带https://,要开小云朵

3.然后,我们点击侧边栏的workers,如图操作

4.然后我们等待会,访问自定义的域名,能正常访问就代表成功了,此时你可以去替换你heroku的伪装域名了

cf pages
除了上面这种方法外,还有就是用cf pages反代了,这个你得需要一个github账号,但是不需要域名
1.我们打开github,新建一个仓库

2.新建一个文件

3.然后取名为_worker.js,选择一种模式,将下面的代码复制进去,注意替换自己的域名
一个账号使用
1 2 3 4 5 6 7 8 9 10 11
| export default { async fetch(request, env) { let url = new URL(request.url); if (url.pathname.startsWith('/')) { url.hostname = 'exepmle.com' let new_request = new Request(url, request); return fetch(new_request); } return env.ASSETS.fetch(request); }, };
|
单双日轮换
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| export default { async fetch(request, env) { const day1 = 'app0.example.com' const day2 = 'app1.example.com' let url = new URL(request.url); if (url.pathname.startsWith('/')) { let day = new Date() if (day.getDay() % 2) { url.hostname = day1 } else { url.hostname = day2 } let new_request = new Request(url, request); return fetch(new_request); } return env.ASSETS.fetch(request); }, };
|
五天轮换反代
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| export default { async fetch(request, env) { const day1 = 'app0.example.com' const day2 = 'app1.example.com' const day3 = 'app2.example.com' const day4 = 'app3.example.com' const day5 = 'app4.example.com' let url = new URL(request.url); if (url.pathname.startsWith('/')) { let day = new Date().getDay() % 5; if (day === 0) { url.hostname = day1 } else if (day === 1) { url.hostname = day2 } else if (day === 2) { url.hostname = day3 } else if (day === 3) { url.hostname = day4 } else if (day === 4) { url.hostname = day5 } else { url.hostname = day1 } let new_request = new Request(url, request); return fetch(new_request); } return env.ASSETS.fetch(request); }, };
|
一周轮换反代
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| export default { async fetch(request, env) { const day1 = 'app0.example.com' const day2 = 'app1.example.com' const day3 = 'app2.example.com' const day4 = 'app3.example.com' const day5 = 'app4.example.com' const day6 = 'app5.example.com' const day7 = 'app6.example.com' let url = new URL(request.url); if (url.pathname.startsWith('/')) { let day = new Date().getDay(); if (day === 0) { url.hostname = day1 } else if (day === 1) { url.hostname = day2 } else if (day === 2) { url.hostname = day3 } else if (day === 3) { url.hostname = day4 } else if (day === 4) { url.hostname = day5 } else if (day === 5) { url.hostname = day6 } else if (day === 6) { url.hostname = day7 } else { url.hostname = day1 } let new_request = new Request(url, request); return fetch(new_request); } return env.ASSETS.fetch(request); }, };
|
保存文件
4.打开cf,点击侧边栏的pages,新建一个项目

5.链接自己的github账号,选择刚刚创建的项目,然后点击”Begin setup”
6.起完名字后点击“Save and Deploy”

7.等待部署完成,然后依旧是替换伪装域名

这样,你的workers就能在国内正常访问了