You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自建Flask API通过Cloudflare Tunnel访问时TLS连接失败求助

解决Cloudflare隧道访问Flask API的TLS连接错误

核心问题排查与修复步骤

  • 修正Cloudflare隧道的服务类型配置
    进入Cloudflare Zero Trust门户的隧道路由规则页面,确认服务类型选中HTTP而非HTTPS。你的Flask API仅监听HTTP的5000端口,若隧道以HTTPS方式转发请求,Flask无法处理TLS握手,直接导致连接断开。正确配置应为:服务类型选HTTP,目标URL填写http://xxx.xxx.xxx.xxx:5000,若容器存在网络隔离问题,可替换为主机内部域名host.docker.internal。

  • 调整Cloudflared容器的网络模式
    若Cloudflared使用默认桥接网络,可能无法直接访问主机的5000端口。将容器网络模式改为host,让容器直接接入主机网络:

    docker run --network host cloudflare/cloudflared tunnel run --token YOUR_TUNNEL_TOKEN
    

    或在docker-compose.yml中配置:

    services:
      cloudflared:
        image: cloudflare/cloudflared
        network_mode: host
        command: tunnel run --token YOUR_TUNNEL_TOKEN
    
  • 确保Flask API监听所有网络接口
    检查Flask启动配置,避免仅监听localhost(127.0.0.1),否则容器或隧道无法访问。启动命令改为:

    flask run --host=0.0.0.0 --port=5000
    

    或在代码中设置:

    if __name__ == '__main__':
        app.run(host='0.0.0.0', port=5000)
    
  • 验证本地API可用性
    在主机执行curl http://xxx.xxx.xxx.xxx:5000/your-api-path,确认Flask API能正常响应,排除API本身的故障。

  • 检查隧道活跃状态
    回到Cloudflare Zero Trust门户的隧道页面,确认隧道处于活跃状态。若状态异常,重启Cloudflared容器即可。

内容的提问来源于stack exchange,提问作者Andy Davenport

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 11:27:02