为什么不需要在本机安装 cloudflared?
当前架构
您的项目已经使用 Docker 容器 来运行 Cloudflare Tunnel,这是更好的方式:
✅ 当前配置(推荐)
Docker 容器运行 cloudflared
├── mbe-cloudflared (生产版 Tunnel)
└── mbe-tunnel-dev (开发版 Tunnel)
优点:
- ✅ 与 Docker 服务集成,统一管理
- ✅ 容器自动重启,更稳定
- ✅ 不占用 Windows 服务资源
- ✅ 配置通过环境变量管理,更灵活
- ✅ 可以同时运行多个 Tunnel(开发版 + 生产版)
❌ 本机安装 cloudflared(不推荐)
如果在本机安装 cloudflared 作为 Windows 服务:
- ❌ 与 Docker 容器冲突
- ❌ 需要单独管理 Windows 服务
- ❌ 配置分散,难以维护
- ❌ 无法利用 Docker 的网络隔离
问题分析
当前问题
从 Cloudflare Dashboard 看到:
mises-engine-dev- ✅ HEALTHY(开发版,正常运行)mbe-prod- ❌ DOWN(生产版,未运行)
原因:
mbe-cloudflared Docker 容器使用的 Token 对应的是开发版 Tunnel,而不是生产版。
解决方案
不需要安装 cloudflared,只需要:
更新
.env文件中的 TokenCLOUDFLARE_TUNNEL_TOKEN=<生产版 mbe-prod 的 Token>重启 Docker 容器
docker restart mbe-cloudflared验证连接
docker logs mbe-cloudflared --tail 20
正确的配置方式
开发版 Tunnel(已配置正确)
# docker-compose.dev.yml
cloudflared-dev:
container_name: mbe-tunnel-dev
environment:
- TUNNEL_TOKEN=${CLOUDFLARE_TUNNEL_TOKEN_DEV} # 开发版 Token
生产版 Tunnel(需要修复)
# docker-compose.cloudflare.yml
cloudflared:
container_name: mbe-cloudflared
environment:
- TUNNEL_TOKEN=${CLOUDFLARE_TUNNEL_TOKEN} # 应该使用生产版 Token
当前 .env 文件中的 Token 是开发版的,需要更新为生产版 Token。
快速修复步骤
获取生产版 Token
- 访问:https://one.dash.cloudflare.com/
- 进入:Networks > Tunnels
- 选择:
mbe-prodTunnel - 复制:Token
更新
.env文件CLOUDFLARE_TUNNEL_TOKEN=<生产版 Token>重启容器
docker restart mbe-cloudflared验证
docker logs mbe-cloudflared --tail 20 # 应该看到 "Registered tunnel connection"
总结
您不需要在本机安装 cloudflared!
只需要:
- ✅ 更新
.env文件中的 Token 为生产版 Token - ✅ 重启 Docker 容器
mbe-cloudflared - ✅ 验证 Cloudflare Dashboard 中
mbe-prod状态变为 HEALTHY
这样就能让 mbe.hi-maker.com 正常访问了。