固定 Cloudflare Tunnel 怎么填写?
固定 Cloudflare Tunnel 怎么填写?
如果只是测试,可以直接用默认的临时 trycloudflare 隧道。
但如果你想让节点地址长期稳定,建议使用 固定 Cloudflare Tunnel。
固定 Tunnel 的好处是:
域名固定,不会每次重启都变化
订阅地址更稳定
可以使用自己的 Cloudflare 域名
后续客户端不用频繁更换链接
这里重点讲一下 katabump-node 里的三个配置应该怎么填。
1. 先在 Cloudflare 创建 Tunnel
进入 Cloudflare Zero Trust 后,大致路径是:
Zero Trust
→ Networks
→ Tunnels
→ Create a tunnel
然后选择:
Cloudflared
给 Tunnel 起一个名字,例如:
katabump-node
创建完成后,Cloudflare 会给你一段安装命令,里面会包含一段很长的 token。
命令大概长这样:
cloudflared tunnel run --token eyJhIjoi...
这里你真正需要复制的是 --token 后面的那一长串内容。
也就是:
eyJhIjoi...
这个就是后面要填进 ARGO_TOKEN 的值。
注意:ARGO_TOKEN 是敏感信息,不要发到评论区,也不要提交到公开仓库。
2. 添加 Public Hostname
Tunnel 创建好以后,需要给它绑定一个公开访问域名。
在 Cloudflare Tunnel 页面里找到刚创建的 Tunnel,然后进入配置页面,添加 Public Hostname。
可以这样填:
Subdomain: node
Domain: yourdomain.com
Path: 留空
这样最终访问域名就是:
node.yourdomain.com
下面的 Service 一般填写你的容器本地服务地址。
如果你的 katabump-node 默认监听端口是 20026,那么 Service 可以填:
http://localhost:20026
如果 KataBump 给你的容器实际端口不是 20026,而是通过环境变量指定了其他端口,就按实际端口填写。
例如平台实际端口是 3000,那就填:
http://localhost:3000
简单理解:
Public Hostname = 外部访问域名
Service URL = 容器内部服务地址
Cloudflare 官方文档里也是这个逻辑:创建 Tunnel 后添加 Published application route,选择子域名和域名,然后在 Service URL 里填写应用的协议和地址,例如 http://localhost:8000。
3. 修改 start.sh 里的固定隧道配置
打开 katabump-node 仓库里的:
start.sh
找到顶部这几行配置:
ARGO_TOKEN=""
ARGO_DOMAIN=""
ALLOW_TEMP_TUNNEL="1"
如果你要使用固定 Cloudflare Tunnel,就改成:
ARGO_TOKEN="你的Cloudflare Tunnel Token"
ARGO_DOMAIN="node.yourdomain.com"
ALLOW_TEMP_TUNNEL="0"
例如:
ARGO_TOKEN="eyJhIjoixxxxxxxxxxxxxxxxxxxxxxxx"
ARGO_DOMAIN="node.example.com"
ALLOW_TEMP_TUNNEL="0"
这三个值分别是什么意思?
ARGO_TOKEN
填 Cloudflare Tunnel 的 token,也就是 cloudflared tunnel run --token 后面的那一长串。
ARGO_DOMAIN
填你在 Cloudflare Public Hostname 里绑定的完整域名,比如:
node.example.com
注意不要填 https://,只填域名本身。
正确:
node.example.com
错误:
https://node.example.com
ALLOW_TEMP_TUNNEL
是否允许使用临时 trycloudflare 域名。
固定 Tunnel 模式下要填:
0
临时 Tunnel 模式下才填:
1
4. 固定 Tunnel 完整填写示例
假设你的 Cloudflare 域名是:
example.com
你想用:
node.example.com
作为节点入口。
那么 Cloudflare Public Hostname 这样填:
Subdomain: node
Domain: example.com
Path: 留空
Service Type: HTTP
Service URL: localhost:20026
对应 start.sh 这样填:
ARGO_TOKEN="eyJhIjoixxxxxxxxxxxxxxxxxxxxxxxx"
ARGO_DOMAIN="node.example.com"
ALLOW_TEMP_TUNNEL="0"
启动命令仍然是:
node /home/container/index.js
容器启动后,脚本会读取 ARGO_DOMAIN,然后生成包含这个固定域名的 VLESS 链接和订阅内容。
后面你访问:
https://node.example.com
应该可以看到项目首页。
访问:
https://node.example.com/node
可以查看节点页面。
访问:
https://node.example.com/sub
可以获取订阅内容。
5. 怎么判断固定 Tunnel 成功?
启动后先看:
/logs
重点看 cloudflared 是否成功连接。
然后看:
/node
如果页面里不再是 trycloudflare.com,而是你的固定域名,例如:
node.example.com
就说明固定 Tunnel 已经生效。
也可以看:
/node.json
如果里面的 host、sni 或链接里的域名都变成了你的 ARGO_DOMAIN,说明配置正常。
6. 常见填写错误
错误一:ARGO_DOMAIN 填了 https://
错误写法:
ARGO_DOMAIN="https://node.example.com"
正确写法:
ARGO_DOMAIN="node.example.com"
ARGO_DOMAIN 只填域名,不要带协议头。
错误二:只填 ARGO_TOKEN,不填 ARGO_DOMAIN
错误写法:
ARGO_TOKEN="eyJhIjoixxxxxxxxxxxxxxxxxxxxxxxx"
ARGO_DOMAIN=""
ALLOW_TEMP_TUNNEL="0"
这样 Tunnel 可能能启动,但脚本不知道应该用哪个域名生成客户端链接。
正确写法:
ARGO_TOKEN="eyJhIjoixxxxxxxxxxxxxxxxxxxxxxxx"
ARGO_DOMAIN="node.example.com"
ALLOW_TEMP_TUNNEL="0"
错误三:Public Hostname 的 Service 端口填错
如果你的 Node.js 服务监听的是:
20026
那 Cloudflare Service 就应该填:
http://localhost:20026
如果你填成:
http://localhost:8080
可能会导致 Cloudflare 域名打开 502 或无法访问。
错误四:ALLOW_TEMP_TUNNEL 没改成 0
如果你已经配置了固定 Tunnel,就应该关闭临时 Tunnel:
ALLOW_TEMP_TUNNEL="0"
否则脚本可能仍然按临时 trycloudflare 模式处理。
简单总结
固定 Cloudflare Tunnel 只需要记住这一组对应关系:
Cloudflare Tunnel Token → ARGO_TOKEN
Cloudflare 绑定的完整域名 → ARGO_DOMAIN
是否关闭临时隧道 → ALLOW_TEMP_TUNNEL="0"
完整示例:
ARGO_TOKEN="eyJhIjoixxxxxxxxxxxxxxxxxxxxxxxx"
ARGO_DOMAIN="node.example.com"
ALLOW_TEMP_TUNNEL="0"
Cloudflare Public Hostname 示例:
node.example.com → http://localhost:20026
这样配置完成后,KataBump 容器里的服务就可以通过固定 Cloudflare 域名访问,订阅地址和节点链接也会更加稳定。
评论
发表评论