利用Cloudflare绕过国内80、443端口封锁

使用cloudflare的workers功能,来绕过国内对未备案的域名解析到80或者443端口的封锁。

  • 第一步

先创建一个workers

  • 第二步

写入如下代码和worker 名称

addEventListener("fetch", (event) => {
  event.respondWith(
    handleRequest(event.request).catch(
      (err) => new Response(err.stack, { status: 500 })
    )
  );
});
 
 
async function rewriteURL(request) {
  let urlWithPort = new URL(request.url)
  urlWithPort.port = 2087    /*服务器端口*/
  const response = await fetch(urlWithPort, request)
  return response
}
  • 第三步

配置workers,路由的地方填写域名即可。这个域名就是你原来解析到服务器的域名(原有的解析依旧),记得所有路径用上通配符。

主要的工作原理就是,添加了workers以后,

原来:访客—->cloudflare边缘节点—->服务器 (类似四层转发)

现在:访客—->cloudflare边缘节点 —-> cloudflare workers—->服务器 (类似七层转发)

另外说一下Cloudflare支持如下非标准端口做CDN加速处理,也就是说,你带上端口访问(https://www.xxxxxx.com:2087),Cloudflare的CDN也会做缓存加速。

不过,正经人访问的网址哪还有加端口一说=。=