如何给Tunnel使用自定义主机名
First Post:
Last Update:
Last Update:
如果你在Cloudflare网页直接创建隧道,并使用自定义主机名的话
你的网站会出现神秘的404问题
当时我也没有搞懂,无奈之下,做了张梗图:
(我是云服务文盲)
偶然之间我找到了一篇博文 使用CloudFlare SaaS的同时使用Cloudflare Tunnel
我跟着操作,果然解决了神秘的404问题
但是这篇博文,他被墙了
再加上里面放了很多tunnel的官方文档的链接,还得自己去翻,很容易掉坑里
为了方便大家,我把核心步骤复述并简化如下,省去翻官方文档的麻烦。
❓ 为什么会出现 404?
Cloudflare 的 云端管理型隧道(Cloudflare Dashboard 创建的)有一个限制:
只能绑定已托管在 Cloudflare DNS 下的域名。
如果你用的是第三方 DNS(比如阿里云、GoDaddy),或者通过 CNAME 接入 Cloudflare SaaS(如优选 IP 服务),
那么 Tunnel 根本不会识别这些“外部域名”,直接返回 404。
解决方案
本地管理型隧道可以支持绑定任意域名。于是解决方法为使用本地管理型隧道而不是官方默认推荐使用的云端管理型。
注意!以下内容需要你注册Cloudflare并开通Zero Trust
安装cloudflared
前往Cloudflared Github Releases页面获取最新版cloudflared安装包
登录Cloudflare
1 | |
创建本地自托管Tunnel
1 | |
创建配置文件
1 | |
1 | |
绑定域名
1 | |
运行隧道
1 | |
或者使用systemd运行
Saas配置
首先添加回退源为你第五步中tunnel绑定的域名
添加自定义主机名为第四步中tunnel配置文件第二个绑定的域名
随后跟随指引添加验证txt解析
最后在你的自定义主机名使用的域名添加指向回退源的CNAME