Rocky Linux 10.2 安装 Cloudflare Tunnel 实现内网穿透(无需公网IP、无需域名)保姆级教程

一、环境介绍

服务器环境:

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

应用端口:

1617

目标:

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

二、确认服务正常运行

查看容器状态

bash 复制代码
docker ps

输出示例:

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

查看服务日志

bash 复制代码
docker logs -f agent-app

输出示例:

复制代码
INFO: Uvicorn running on http://0.0.0.0:1617

本地测试服务

bash 复制代码
curl http://127.0.0.1:1617

三、下载 Cloudflare Tunnel

  1. 访问 Github Release 页面

  2. 下载安装包

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

    bash 复制代码
    # 上传到指定目录
    /opt/cloudflared/
    
    # 查看文件
    cd /opt/cloudflared
    ls -lh

    输出示例:

    复制代码
    -rw-r--r-- 1 root root 18M cloudflared-linux-x86_64.rpm

四、安装 Cloudflare Tunnel

安装命令

bash 复制代码
dnf install -y /opt/cloudflared/cloudflared-linux-x86_64.rpm

验证安装

bash 复制代码
cloudflared version

输出示例:

复制代码
cloudflared version 2026.6.1

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

五、创建临时 Tunnel

执行命令

bash 复制代码
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

后台启动命令

bash 复制代码
nohup cloudflared tunnel \
  --url http://localhost:1617 \
  > /var/log/cloudflared.log 2>&1 &

查看运行状态

bash 复制代码
# 查看进程
ps -ef | grep cloudflared

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

八、常见问题

1. Github 下载慢

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

2. 访问出现 404

  • 原因:Cloudflare Tunnel 已成功工作,但 FastAPI 未配置对应路由。

  • 示例路由配置

    python 复制代码
    @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 等)

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