Cloudflare 多环境快速启动指南

📋 当前状态总结

✅ 已完成配置

  1. Docker 容器配置

    • docker-compose.dev.cloudflare.yml - 开发版 Tunnel
    • docker-compose.cloudflare.yml - 生产版 Tunnel(已优化)
  2. 网络优化

    • ✅ 已配置使用 HTTP/2 协议(更稳定)
    • ✅ 已添加网络优化参数
  3. 文档

    • CLOUDFLARE_MULTI_ENV_DEPLOYMENT.md - 完整部署指南
    • NETWORK_TROUBLESHOOTING.md - 网络问题排查
    • start-cloudflare-envs.ps1 - 快速启动脚本

⚠️ 需要操作

  1. 更新 .env 文件

    • 已添加 CLOUDFLARE_TUNNEL_TOKEN_DEV
    • 需要确认生产版 Token 是否正确
  2. 解决网络连接问题

    • 当前两个 Tunnel 都有连接问题
    • 建议使用 WARP 客户端或应用其他解决方案

🚀 快速启动

方式 1:使用脚本(推荐)

# 查看状态
.\scripts\start-cloudflare-envs.ps1 status

# 启动开发版
.\scripts\start-cloudflare-envs.ps1 dev

# 启动生产版
.\scripts\start-cloudflare-envs.ps1 prod

# 启动所有环境
.\scripts\start-cloudflare-envs.ps1 all

# 停止所有 Tunnel
.\scripts\start-cloudflare-envs.ps1 stop

方式 2:手动启动

启动开发版

# 1. 确保开发版服务运行
docker compose -f docker-compose.dev.yml up -d

# 2. 启动开发版 Tunnel
docker compose -f docker-compose.dev.cloudflare.yml up -d

# 3. 查看日志
docker logs mbe-tunnel-dev --tail 20

启动生产版

# 1. 确保生产版服务运行
docker compose -f docker-compose.yml up -d

# 2. 启动生产版 Tunnel
docker compose -f docker-compose.cloudflare.yml up -d

# 3. 查看日志
docker logs mbe-cloudflared --tail 20

🔧 解决网络问题

步骤 1:重启容器应用新配置

# 重启开发版 Tunnel
docker restart mbe-tunnel-dev

# 重启生产版 Tunnel
docker restart mbe-cloudflared

# 等待几秒后查看日志
Start-Sleep -Seconds 5
docker logs mbe-tunnel-dev --tail 20
docker logs mbe-cloudflared --tail 20

步骤 2:如果仍然失败,安装 WARP 客户端

  1. 下载安装 WARP

  2. 重启 Docker 容器

    docker restart mbe-tunnel-dev
    docker restart mbe-cloudflared
    
  3. 验证连接

    docker logs mbe-tunnel-dev --tail 20
    # 应该看到 "Registered tunnel connection"
    

步骤 3:检查 Cloudflare Dashboard

  1. 访问:https://one.dash.cloudflare.com/
  2. 进入:Networks > Tunnels
  3. 检查:
    • mises-engine-dev 状态应为 HEALTHY
    • mbe-prod 状态应为 HEALTHY

📝 开发工作流

1. 本地开发(不使用 Tunnel)

# 启动本地开发环境
docker compose -f docker-compose.dev.yml up -d

# 访问:http://localhost:8001

2. 部署到开发版(团队测试)

# 启动开发版 Tunnel
.\scripts\start-cloudflare-envs.ps1 dev

# 团队访问:https://dev.hi-maker.com

3. 部署到生产版

# 启动生产版 Tunnel
.\scripts\start-cloudflare-envs.ps1 prod

# 用户访问:https://mbe.hi-maker.com

✅ 验证清单

  • .env 文件中已配置 CLOUDFLARE_TUNNEL_TOKEN_DEV
  • .env 文件中已配置正确的 CLOUDFLARE_TUNNEL_TOKEN(生产版)
  • 开发版服务 (mbe-api-dev) 正在运行
  • 生产版服务 (mbe-api) 正在运行
  • Cloudflare Dashboard 中 Service URL 配置正确
  • Tunnel 日志显示连接成功(无 ERR 错误)

🆘 遇到问题?

  1. 查看详细文档

    • docs/CLOUDFLARE_MULTI_ENV_DEPLOYMENT.md - 完整部署指南
    • docs/NETWORK_TROUBLESHOOTING.md - 网络问题排查
  2. 检查日志

    docker logs mbe-tunnel-dev --tail 50
    docker logs mbe-cloudflared --tail 50
    
  3. 检查服务状态

    docker ps --filter "name=mbe"
    

📚 相关文档