由于近期zf的GFW力度加大,workers的域名已经被污染了。只是利用workers.dev的域名大概率出现无法访问。这里讲解一下在CloudFlare Pages利用其Functions部署反代的思路,可以共大家借鉴。实例为反代本网站。理论上任何域名都可以,也包括节点域名。
1、准备文件,文件命名为_worker.js,内容如下:
单一网站反代:

export default {
  async fetch(request, env) {
    let url = new URL(request.url);
    if (url.pathname.startsWith('/')) {
      url.hostname = 'shyper.cf'
      let new_request = new Request(url, request);
      return fetch(new_request);
    }
    return env.ASSETS.fetch(request);
  },
};

双网站反代:

export default {
  async fetch(request, env) {
    const day1 = 'shyper.cf'
    const day2 = 'shyper.cf'
    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);
  },
};

2、将shyper.cf换成你需要代理的域名,保存文件
3、接下来有两种方式,一种为上传,一种为git。第一种比较简单。git基本上就是建库,连接,deploy。
3.1 将文件放入文件夹,或者压缩成zip格式,注意page只能上传文件夹或者压缩包,单个文件不能直接上传
3.2 来到cloudflare,点pages,创建项目-直接上传
微信图片_20220525122023.png
360截图20220525122045432.jpg
3.3 创建项目名称,我这里写shyper,你可以填你想要的,然后上传文件夹或者压缩档。然后就完成了
360截图20220525122613301.jpg
360截图20220525122628530.jpg
360截图20220525122649728.jpg
3.4 完成后点击项目进入设置页面,点击自定义域,输入已经在域名商那里登记的域名或者子域名
360截图20220525141622194.jpg
360截图20220525141732445.jpg
3.4 完成后去域名商进行cname注册,内容为page.dev的地址,这样用你的新域名就可以访问网站了。
360截图20220525141827489.jpg

评论已关闭