cloudflare tunnel使用saas回源,实现优选

第一次发帖,多多支持。
参考文章,https://blog.tsinbei.com/archives/1505/

论坛已经有大佬发布了如何使用cloudflare tunnel的教程,这里就不重复了,如果还不了解的,可以先看看佬友的文章 ,这篇文章主要讲用上saas的技巧

1、手动请求cloudflare接口设置public hostname

  • 1.1、从Add public hostname for XX页面开始

  • 1.2、打开浏览器开发人员工具,通过键盘按F12或者鼠标右击选检查,并选择network和Fetch/XHR,这里显示的是请求的接口

  • 1.3、填写你的域名信息和转发内网的服务地址,点击保存后,在右边的开发人员工具界面找到用PUT请求的configurations接口,然后复制下来,找到–data-raw,这就是请求参数,我们要改造的是这个参数


  • 1.4、首先说明一下,刚刚添加 test.yoo.ac.cn,就是回退源的地址,而我们新加的地址,就是自定义主机名。把上一步请求参数复制到json.cn等json编辑工具,添加你需要转发的服务。我这里添加两个,service是你内网服务的地址,hostname是你公网访问的域名,注意,最初添加的service地址和你后面加的可以是不同的

  • 1.5、修改后参数放到cmd命令行执行,或者导入postman直接请求,发现cloudflare上,参数已经改变了,到这里,tunnel的配置已经完成了,下一步,我们要配置saas。

2、配置saas,让延迟低一点

在上一章节,手动配置public hostname,主要是为了能自定义配置dns。保存后官方会给你添加一条dns,这个就是我们的回退源。

由于本人的域名都放在cloudflare,而cloudflare会检查saas自定义主机变更情况,如果主域名cname的地址不是回退源,会报下面的错误,所以要借用dnspod的子域名,这个子域名就是cname到优选域 (后面对这块有优化)

The hostname is using Cloudflare and cannot be activated with an TXT or HTTP validation token. To activate the custom hostname, the DNS target needs to point to the SaaS zone

  • 2.1、dnspod子域名配置,为了保证saas能正常验证主机状态,需要设置成回退源的地址,记录类型是cname

  • 2.2、saas配置,回退源就是tunnel第一次保存的地址,我这里是 test.yoo.ac.cn,而下面自定义主机名填的我另外加的两个公网域名

  • 2.3、公网域名cname到dnspod的子域名,这时候等待主机名状态变成有效,大概1-2分钟

  • 2.4、修改子域名,用上优选域名


2024-06-27 20:30:00更新
对于子域名的cdn优化方案
对子域名的cname分境内和境外,这样子就不用先配置回退源,再配置优选域名了。直接配置成两个!

420 个赞

感谢分享,好详细!

3 个赞

好好好,又第二种方法了,感觉更高级

2 个赞

我看教程这样是没有用到dnspod分流的,那托管到dnspod这一步是不是可以简化

1 个赞

用其他平台托管主域名,是可以减少子域名配置的步骤的,可以根据自己的情况适当改改

感谢分享,这个之前没看过,学习了

1 个赞

太强了!

2 个赞

赞,我思路跟你一样,也是昨晚发现可以修改请求参数来添加托管到别处的域名,准备抽空写个面板,白嫖到底!

1 个赞

感谢分享

1 个赞

优秀啊

1 个赞

感谢分享

小白看不懂

5 个赞

感谢分享,有时间去试试

看不懂,可以提出来,论坛里大佬多,不怕的

1 个赞

需要多个域名吗 :joy:

2个,一个做回退源的,这个是主域名,用于请求的

2 个赞

点赞支持

1 个赞

先马了,后面学习一下

请教一下,1.3和1.4的操作,是为了把回退地址和公网域名都指向内网服务的地址吗?我看到1.5的图片里8010端口有两条记录,但是回退地址test.yoo.ac.cn指向的8686却只有一条。

2 个赞

1.3,1.4,设置的ip是内网服务ip。test.yoo.ac.cn能做回退域名,是因为这个地址cname指向的是cloudflare tunnel容器。你说两个地址指向8010,这个可以理解成两个域名指向了同一个服务

1 个赞