利用Cloudflare Worker反向代理Blogger等网站

Cloudflare Worker可以无服务器跑一些js小程序,网上已经有不少脚本了,例如做导航站。本文介绍一个适用于Cloudflare Worker的代理程序cf-revpxy,特点是一个worker反代多个站点,支持文本替换,资源替换功能。
建议操作之前先通篇阅读全文,这样对每一步操作的目的会有一个更清楚的理解,很多你的疑问和不理解的,后文或者前文都有提到。
步骤
- 在 Cloudflare 新建一个 worker(记得选免费的);
- 把https://github.com/KusakabeSi/cf-revpxy/blob/main/worker.js 的内容贴到 worker 的 Script 编辑框里;
- 代码最上面的部分(第二行开始)的 reverse = {} ,要按照https://github.com/KusakabeSi/cf-revpxy/blob/main/reverse_demo.js 这里的模板修改;
- 保存并且发布该 worker;
- 在Cloudflare对应域名管理部分里的Worker,点击右面的add route,输入反代后的域名例如 www.yaoyan.info/(记得加/,否则打不开子页面),Worker下拉选择第一步新建的 worker,保存;
- 在Cloudflare域名管理部分里的DNS,添加Blogger的CNAME 记录,指向步骤1里的Workder 二级域名***.yourname.workers.dev,切记要打开橙色云,然后保存;
- 正常情况下,至此就可以正常访问站点了。
同理也可以反向代理其他网站或者平台哦,聪明的你一定有很多自己的想法。
可能需要调整的地方
回到上面步骤3的 reverse 段落,对 “replace”: {}, “reverse”: {}, “redirect”: {} 字段进行修改(类似 Nginx 的 sub_filter),来达到替换静态资源/路径的目的。具体什么意思,请参考步骤3里的例子。
例如 CF 刚好分配到欧盟的 IP 的话,会触发欧盟的 cookie 通知,导致页面会多一段cookiechoices.js,利用 “replace”: { ‘’: ‘’,} 就可以轻松去掉。
强大的替换功能甚至可以不用再通过注释解义去修改模板文件了( -> , -> <!––></body> 这种),对模板的“伤害 ”可以尽量减少,分享皮肤起来也更加方便。
缺点
- Cloudflare橙色云有众所周知的网络不稳定问题;
- 因为在Blogger 后台不用设置域名,所以反代后的域名对不上,有可能申请不了AdSense;
- 需要搜索功能的话还是得找个空间储存 indie_compiled.js
- 需要小控件的话(例如分享按钮)还是得找个空间储存 widgets.js
优点
- 设置简单
- 不用服务器
- 不用找可用 GHS IP
- 移动版同样可用
- 强大的替换功能如上所述
- 一个 worker 可以反代 N 个网站
- Https证书由Cloudflare自动签发
参考:https://github.com/KusakabeSi/cf-revpxy
相关推荐
- CloudFlare第三方合作伙伴笨牛CDN的默认设置清单
- 使用Backblaze B2搭建免费的自定义域名图床和对象存储
- 将Cloudflare羊毛薅到底
- Blogger域名绑定新方法,就算被封了也可以访问
- 十个不可不知的个人信息安全工具
如果有更多实用的网站产品、福利资源等有趣好玩的东西,欢迎投稿,一起效率生活。
查阅期间如果有发现项目/产品/网站不可用等任何问题,也还请联系我们跟进处理©️集网