Cloudflare实现反代的两种方式,其中一种支持CNAME域名接入
标签搜索

Cloudflare实现反代的两种方式,其中一种支持CNAME域名接入

勿埋我心
2022-08-22 / 3 评论 / 1,983 阅读 / 正在检测是否收录...

引言

何事吟余忽惆怅,村桥原树似吾乡。 ——勿埋我心

  域名反代,是为了加速某种服务,比如反代Github的 raw.githubusercontent.com,实现直链加速,可以变相解决Jsdelivr不能用的尴尬。或者是反代OneDrive的域名,从而实现加速下载也可以,但一般情况下直连的速度也是很客观的。

  Cloudflare的CNAME被禁止,无法自选IP?现在可以通过Cloudflare Pages变相实现。

通过Cloudflare Workers实现反代

addEventListener(
  "fetch",event => {
     let url=new URL(event.request.url);
     url.hostname="www.skyqian.com";  //你需要反代的域名
     let request=new Request(url,event.request);
     event. respondWith(
       fetch(request)
     )
  }
)

works.dev的域名国内已经无法访问了,需要通过绑定自定义域名。

这种就只能支持在Cloudflare上的域名。

通过Cloudflare Pages实现反代

创建一个_worker.js的文件,并写入以下代码:

export default {
    async fetch(request, env) {
      let url = new URL(request.url);
      if (url.pathname.startsWith('/')) {
        url.hostname="www.skyqian.com";  //你需要反代的域名
        let new_request=new Request(url,request);
        return fetch(new_request);
      }
      // 否则,提供静态资产。
      return env.ASSETS.fetch(request);
    }
  };

具体步骤

image-20220822230735952

image-20220822230927013

image-20220822231215249

image-20220822231339228

image-20220822231829115

接下来就是到自己的域名管理解析自行设置了,然后可以配合DNSPod实现自选IP。

看看效果

我反代的是raw.githubusercontent.com

原链接:https://raw.githubusercontent.com/Qiantigers/qiantigers/main/README.md

Cloudflare Pages反代的链接:https://githubraw.huge.cf/Qiantigers/qiantigers/main/README.md

自行对比一下

结语

  功能很不错,不过免费版有调用次数限制,个人小用是完全足够了。

  欢迎有疑惑在勿埋我心评论区留言。

4

评论 (3)

取消
  1. 头像
    零柒.
    Android Oreo · QQ Browser

    大佬你好你好!首先非常感谢你能写出这篇教程,还有就是大佬能请教一下你在结尾处说的搭配DNSPod实现自选IP的具体步骤吗,百度了半天没研究明白,最后再次感谢表情

    回复
    1. 头像
      零柒.
      Android Oreo · QQ Browser
      @ 零柒.

      解决了解决了,老哥不用回复我了,还是感谢这篇文章了

      回复
      1. 头像
        勿埋我心 作者
        Windows 10 · Google Chrome
        @ 零柒.

        嗯,你应该找到了关于cloudflare SaaS的文章,这个方法不错,不过如果服务器多的话,就比较费域名了

        回复