准备

cloudflare tunnel配置

1.先在绑定自己购买的域名

2.在域名绑定完成后在cloudflare主页点击Zero Trust

3.进入后先随便取个名字,之后选择免费计划,之后点继续

4.在选择付款方式页面直接回到cloudflare主页,之后再点Zero Trust

5.进入后一次点击Networks=>Tunnels=>Add a tunnel=>cloudflared=>next

6.然后为隧道起个名字,之后点Save tunnel,然后根据自己的系统安装cloudflared,完成后点击next

7.在当前页面填写自己要穿透后访问的域名,和内网的服务协议与ip+端口

免费国内加速访问

  • 在成功配置cloudflare tunnel后你会发现国内访问很慢,这是应为cloudflare tunnel国内CDN很少,这时可以优选ip或cdn解决

方法一 cloudflare优选IP

1.进入cloudflare主页后点击Workers=>Workers 和 Pages

2.点击创建=>从 Hello World! 开始=>部署=>编辑代码,写入:

1
2
3
4
5
6
7
8
9
10
addEventListener(
"fetch",event => {
let url=new URL(event.request.url);
url.hostname="example.com"; //你的Cloudflare tunnel填写的域名
let request=new Request(url,event.request);
event. respondWith(
fetch(request)
)
}
)

3.之后点击设置,在域和路由点击添加,选择路由,区域选你的域名,路由写你以后要访问的域名,格式:

1
example.com/*

4.之后在Cloudflare主页点击你的域名,再点DNS,填写记录,添加一个DNS解析写你路由绑定的域名cname到cf.090227.xyz(社区优选域名),之后就可以访问这个域名访问你的本地服务了

方法二 Netlify反代网站

1.在Github开一个新仓库,根目录创建一个 netlify.toml。在其中写入

1
2
3
4
5
[[redirects]]
from = "/*"
to = "https://cloudflare tunnel域名/:splat"
status = 200
force = true
  • 注意,端口后面的斜杠一定不要丢!

2.接下来回到 https://app.netlify.com/ 创建一个新项目,导入你刚创建的Github项目,部署即可 最后绑定一下你的域名,就可以通过此域名访问你的内网服务了

方法三 Vercel反代网站

1.电脑安装Nodejs,我们需要用到npm 安装Vercel CLI

1
npm i -g vercel

2.登录Vercel CLI

1
vercel login

3.找个地方(比如桌面)创建一个你随意命名的文件夹,然后在其中创建一个你随意命名的.json文件,其中写入:

1
2
3
4
5
6
{
"version": 2,
"routes": [
{"src": "/(.*)","dest": "https://cloudflare tunnel域名"}
]
}

4.然后部署

1
verceL -A 你命名的.json --prod

5.最后绑定一下你的域名,就可以通过此域名访问你的内网服务了

方法四 edgeone反代网站

1.在edgeone主页新增站点,添加自己的域名,选择免费服务

2.进入后点击域名配置=>域名管理,添加域名,域名配置填写自己以后访问的域名,源站配置写cloudflare tunnel域名 回源 HOST 头选使用源站域名

3.之后在Cloudflare添加cname记录,等部署完后点击HTTPS 配置选申请免费证书=>确定

4.等部署完后,就可以通过此域名访问你的内网服务了