一、环境介绍

服务器环境:

  • VMware 虚拟机
  • Rocky Linux 10.2
  • Docker
  • FastAPI
  • Cloudflare Tunnel

应用端口:

1617

目标:

将本地 FastAPI 服务通过 Cloudflare Tunnel 暴露到公网,无需公网 IP、无需域名。

二、确认服务正常运行

查看容器状态

docker ps

输出示例:

CONTAINER ID   IMAGE       STATUS       PORTS
dafbc50cb20a   agent-app   Up           0.0.0.0:1617->1617/tcp

查看服务日志

docker logs -f agent-app

输出示例:

INFO: Uvicorn running on http://0.0.0.0:1617

本地测试服务

curl http://127.0.0.1:1617

三、下载 Cloudflare Tunnel

  1. 访问 Github Release 页面

    • 地址:https://github.com/cloudflare/cloudflared/releases/tag/2026.6.1
  2. 下载安装包

    • 下载文件:cloudflared-linux-x86_64.rpm
  3. 上传到服务器

    # 上传到指定目录
    /opt/cloudflared/
    
    # 查看文件
    cd /opt/cloudflared
    ls -lh
    

    输出示例:

    -rw-r--r-- 1 root root 18M cloudflared-linux-x86_64.rpm
    

四、安装 Cloudflare Tunnel

安装命令

dnf install -y /opt/cloudflared/cloudflared-linux-x86_64.rpm

验证安装

cloudflared version

输出示例:

cloudflared version 2026.6.1

出现版本号说明安装成功。

五、创建临时 Tunnel

执行命令

cloudflared tunnel --url http://localhost:1617

输出结果

INF Requesting new quick Tunnel on trycloudflare.com...
INF Your quick Tunnel has been created!
https://cafe-repairs-represent-romance.trycloudflare.com

出现 trycloudflare.com 地址说明创建成功。

六、访问公网地址

  1. 浏览器打开

    • 地址:https://cafe-repairs-represent-romance.trycloudflare.com
  2. 访问 FastAPI 项目

    • Swagger 文档:https://cafe-repairs-represent-romance.trycloudflare.com/docs

七、后台运行 Tunnel

后台启动命令

nohup cloudflared tunnel \
  --url http://localhost:1617 \
  > /var/log/cloudflared.log 2>&1 &

查看运行状态

# 查看进程
ps -ef | grep cloudflared

# 查看日志
tail -f /var/log/cloudflared.log

八、常见问题

1. Github 下载慢

  • 解决方案:可以在 Windows 系统下载 RPM 包后,通过 SCP 或 FTP 上传至服务器安装。

2. 访问出现 404

  • 原因:Cloudflare Tunnel 已成功工作,但 FastAPI 未配置对应路由。
  • 示例路由配置
    @app.get("/")
    async def root():
        return {"msg": "hello"}
    
  • 说明:如果没有配置根路径路由,访问根路径会返回 404 Not Found

3. 域名会变化

  • 说明trycloudflare.com 为临时免费域名。
  • 注意:每次重启 cloudflared tunnel --url http://localhost:1617 都会生成新的域名。

九、总结

Cloudflare Tunnel 是目前最简单的免费内网穿透方案之一。

优点

  • ✅ 完全免费
  • ✅ 无需公网 IP
  • ✅ 无需路由器端口映射
  • ✅ 自动 HTTPS 加密
  • ✅ 支持多种服务(Docker、FastAPI、SpringBoot、Dify、Ollama 等)

通过以上简单几步,即可将本地服务安全发布到公网,方便远程访问和测试。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐