工具
- jonssonyan/cf-workers-proxy
- Cloudflare Workers
- 任意域名并托管在Cloudflare上(使用Cloudflare DNS解析)
步骤
打开Cloudflare并登陆。
左侧边栏选择
Workers和Pages
。点击
创建
,创建Worker
来创建示例Hello World Worker。给Worker起个名字,点击
部署
。等待部署完成后,点击分配的域名(这里为
anyname.xxxx.dev
)即可访问刚创建好的Hello World Worker。可以看到浏览器页面输出Hello World!点击
编辑代码
。打开Github仓库jonssonyan/cf-workers-proxy,根据自己的需求选择合适的文件,
docker.js
或_worker.js
。这里使用的是_worker.js
。打开
_worker.js
,全选复制其中内容。到Worker编辑代码页面,粘贴覆盖原代码,点击
部署
。返回到刚刚创建的Worker,点击
设置
,变量和机密
,+添加
。变量名称
输入PROXY_HOSTNAME
,值
输入想要代理的网址。例如github.com
。点击部署
。域和路由
,点击+添加
,选择自定义域
。在
域
输入在Cloudflare托管域名的任意子域名。子域名可以随便起。点击添加域
。这时通过Cloudflare Workers建立的代理就完成了,可以通过访问刚输入的域来对想要代理访问的网站进行访问。
为避免自己的额度被他人使用,建议添加IP筛选,只允许白名单内的IP地址访问该Worker。
如果不知道自己的IP地址可以使用WhatIsMyIPAddress来查询自己的公网IP地址。
变量和机密
,点击+添加
。变量名称
输入IP_WHITELIST_REGEX
,值
填入想要允许访问此Worker的IP地址。如果有多个IP地址可以使用
|
分隔。例如(111.111.111.111|222.222.222.222)
。点击
部署
。至此,Cloudflare搭建Workers代理完成。
只有在IP白名单中的IP地址才可访问此Worker,否则会返回伪装页面。
总结
如果想要使用此Worker作镜像加速,可以修改
变量和机密
下的PROXY_HOSTNAME
为镜像仓库地址即可。例如
镜像仓库 地址 docker registry-1.docker.io k8s-gcr k8s.gcr.io k8s registry.k8s.io quay quay.io gcr gcr.io ghcr ghcr.io cloudsmith docker.cloudsmith.io ecr public.ecr.aws 当无法访问Worker时记得检查想要访问此Worker的IP地址是否在IP白名单中。
参考
About this Post
This post is written by Andy, licensed under CC BY-NC 4.0.
Next
Unable to access Synology local network via Chrome on macOS Sequoia fix
Previous