前言
Cloudflare的workers是一个非常强大的工具,可以很方便的实现很多功能。作为互联网大善人的一大力作,workers怎么能没有羊毛可以薅呢? 本篇介绍了使用workers实现反向代理,通过这个程序,不仅可以很方便的实现cloudflare CDN的优选,还可以应用到一些特殊的场景上
准备工作
你需要的东西
-
基本用品(一个好用的脑子、一双手、Cloudflare账号、Github账号) -
一个由
Cloudflare托管的域名(优选使用)
如何使用workers实现反向代理?
开始配置~
- 打开一个神秘的github仓库, frok下来。
-
避免有小废物不会Fork仓库,这里附上图片教程


-
可见这个项目也是非常的简单好吧,那就开始修改吧。 如仓库中的README所说
const domain_mappings = { 'www.example.com':{ //访问域名 origin: 'origin.example.com', //源站 ip/端口/域名(不要包含协议头) host: 'host.example.com', //访问源站时使用的 Host 头(默认与origin相同) https: true //是否使用 HTTPS 访问源站 }}我觉得我写的注释应该已经够详细了,嗯。
接下来,上传到github。
-
创建一个新的仓库(建议设置成私有仓库)
-
好!接下来我们需要使用Git将所做的更改发布到Github
-
首先,你需要让Git知道你是谁:
git config --global user.name "你的Github用户名"和git config --global user.email "你的Github邮箱@example.com" -
然后,更改远程仓库为ssh*(如果是通过ssh克隆的不用改):
git remote set-url origin git@github.com:xxx/xxx -
随后,让我们提交所有文件:
git add . -
之后,让我们发布一个本地提交:
git commit -m "项目初始化" -
最后,让我们将本地更改提交到远程仓库:
git push
-
-
好,这下,关于反代的配置已经全部上传到github仓库里了,每当你需要修改配置时,只需要修改
domain_mappings对象,然后上传到github即可,workers会自动部署。
部署workers and 优选
-
登录Cloudflare, 前往workers-and-pages页,创建一个新的workers。

-
然后选择链接Git存储库,选择你刚刚创建的仓库。随后
构建配置页中,构建命令留空,然后设置构建输出目录:dist。 -
等待构建。
绑定域名
-
目前针对workers优选仅支持你的域名也在Cloudflare上。(如果在其他云服务器,可以看前面的优选教程)
-
在新创建的
workers``设置页,找到域和路由。点击添加后,这里选择路由。
-
在这个页面。区域选择的要使用的域名,也就是你在domain_mappings对象中配置的访问域名。 假设你的域名是example.com,那么这里的路由就填写example.com/*。 -
添加DNS记录。CNMAE到一个优选域名
-
随后,你只需要修改github仓库中的配置,Cloudflare就会
自动部署,然后再到workers设置,添加你的路由,然后一个新的代理就创建好了!
优选!
关于上一部分提到的添加的CNAME记录,这里推荐一个网站cf.090227.xyz,里面有很多优选域名,可以根据自己的需求选择。
本程序可以实现的一些奇淫技巧
- ip+端口的代理
'www.example.com':{ origin: '123.456.789.0:8080', // ip+端口 https: false }- 甚至还可以加上类
双向验证的效果
'www.example.com':{ origin: '123.456.789.0:8080', // ip+端口 host: "11.45.14.com" //一个不存在的域名,在服务器nginx中把访问域名也设置成它 https: false }- 全站反代———用于一些国内比较难访问的网站,比如github
'gh.example.com':{ origin: 'github.com', host: 'github.com', https: true }站长制作的github全站反代gh.etan.fun