对于用frp实现内网穿透,虽然它功能强大,但自建服务端+双端配置+证书维护的门槛确实太高;看到 Cloudflare Tunnel 不用零成本,免公网IP,加密安全,就决定试一下。整套方案用宝塔建站点,Docker 跑隧道,命令不多,步骤也不复杂,正好适合。
写这篇的目的很简单:把我自己踩过的坑和最终稳定的配置记下来,也方便有同样需求照抄就能用。
一、方案速览
让国内服务器主动连接 Cloudflare,而非暴露公网端口
- 宝塔负责建站点、配SSL、反代理,不用开 80/443
- Docker里跑官方 cloudflared 镜像,一键开机自启
- Cloudflare 边缘负责CDN、防doss攻击
- 结果:
https://blog.yourdomain.com直接访问宝塔站点,国内机器正常解析
二、准备清单
| 组件 | 要求 |
|---|---|
| 服务器 | 轻量 1H1G 及以上 |
| 系统 | CentOS 7+ / Ubuntu 20+ 宝塔 |
| 域名 | 任意后缀,已转 CF DNS (Cloudflare) |
三、步骤
软件商店 → Docker → 安装 → 完成
- 注册登录 dash.cloudflare.com
域名与账号配置
- 注册 Cloudflare 账号并完成邮箱验证(建议使用 Gmail 等国际邮箱)。
- 将已有域名托管至 Cloudflare:进入域名注册商后台(如阿里云、华为云),将 DNS 服务器替换为 Cloudflare 提供的地址(例如 mike.ns.cloudflare.com)。
- 绑定付款方式:支持国际信用卡、借记卡或 PayPal,仅用于身份验证(支付金额为 0 元,服务免费)。
![图片[2] - 宝塔Docker跑Cloudflare Tunnel,内网穿透新方案 运行Nginx网站 - 浅染博客-浅染のBlog 图片[2] - 宝塔Docker跑Cloudflare Tunnel,内网穿透新方案 运行Nginx网站 - 浅染博客-浅染のBlog](http://imgbed.leihub.cn//img/image-20250223141406253.png)
创建 Cloudflare Zero Trust 团队
- 确认是 0 元免费就可以继续支付了。
![图片[3] - 宝塔Docker跑Cloudflare Tunnel,内网穿透新方案 运行Nginx网站 - 浅染博客-浅染のBlog 图片[3] - 宝塔Docker跑Cloudflare Tunnel,内网穿透新方案 运行Nginx网站 - 浅染博客-浅染のBlog](http://imgbed.leihub.cn//img/image-20250223141416641.png)
- 免费计划:不添加付款方式不让下一步,你可以点 Next 后输入付款方式。
![图片[4] - 宝塔Docker跑Cloudflare Tunnel,内网穿透新方案 运行Nginx网站 - 浅染博客-浅染のBlog 图片[4] - 宝塔Docker跑Cloudflare Tunnel,内网穿透新方案 运行Nginx网站 - 浅染博客-浅染のBlog](http://imgbed.leihub.cn//img/image-20250223141632849.png)
- 零元购。
转自https://blog.leihub.cn/archives/873
{/collapse-item}
- 配置Tunnels
Zero Trust → Networks → Tunnels → Add a tunnel(添加隧道)
![图片[5] - 宝塔Docker跑Cloudflare Tunnel,内网穿透新方案 运行Nginx网站 - 浅染博客-浅染のBlog 图片[5] - 宝塔Docker跑Cloudflare Tunnel,内网穿透新方案 运行Nginx网站 - 浅染博客-浅染のBlog](https://pic.yvii.cn/img/20251025-1.webp)
![图片[6] - 宝塔Docker跑Cloudflare Tunnel,内网穿透新方案 运行Nginx网站 - 浅染博客-浅染のBlog 图片[6] - 宝塔Docker跑Cloudflare Tunnel,内网穿透新方案 运行Nginx网站 - 浅染博客-浅染のBlog](https://pic.yvii.cn/img/20251025-2.webp)
选择 Cloudflared,名字随意(如 bt-tunnel)→ Save 保存![图片[7] - 宝塔Docker跑Cloudflare Tunnel,内网穿透新方案 运行Nginx网站 - 浅染博客-浅染のBlog 图片[7] - 宝塔Docker跑Cloudflare Tunnel,内网穿透新方案 运行Nginx网站 - 浅染博客-浅染のBlog](https://pic.yvii.cn/img/20251025-3.webp)
![图片[8] - 宝塔Docker跑Cloudflare Tunnel,内网穿透新方案 运行Nginx网站 - 浅染博客-浅染のBlog 图片[8] - 宝塔Docker跑Cloudflare Tunnel,内网穿透新方案 运行Nginx网站 - 浅染博客-浅染のBlog](https://pic.yvii.cn/img/20251025-4.webp)
点击 Docker 图标 → 复制 token(eyJ...==) ![图片[9] - 宝塔Docker跑Cloudflare Tunnel,内网穿透新方案 运行Nginx网站 - 浅染博客-浅染のBlog 图片[9] - 宝塔Docker跑Cloudflare Tunnel,内网穿透新方案 运行Nginx网站 - 浅染博客-浅染のBlog](https://pic.yvii.cn/img/20251025-5.webp)
转自https://www.yvii.cn/archives/2085.html
{/collapse-item}
宝塔 → Docker → 容器 → 创建容器 → 命令创建
粘贴下方命令(token eyJ...换成你自己的):
docker run -d --rm --network host cloudflare/cloudflared:latest tunnel --token eyJ......→ 提交,看到状态 Up 就OK啦
- 域名:
blog.yourdomain.com - 端口:
1999(随机选,避开常用端口80/443...) - 绑定:
blog.yourdomain.com:1999 - → 重载 Nginx
本地验证(可选):
curl -H "Host: blog.yourdomain.com" http://127.0.0.1:2025返回 HTML → 站点正常。
回到隧道 → Public Hostname → Add
- Subdomain:
blog - Domain:
yourdomain.com - URL:
http://127.0.0.1:2025
保存 → 解析页面自动添加,记录橙色云自动亮起![图片[11] - 宝塔Docker跑Cloudflare Tunnel,内网穿透新方案 运行Nginx网站 - 浅染博客-浅染のBlog 图片[11] - 宝塔Docker跑Cloudflare Tunnel,内网穿透新方案 运行Nginx网站 - 浅染博客-浅染のBlog](https://pic.yvii.cn/img/20251025-7.webp)
最后访问你所配置的域名(不加端口),正常访问,大功告成~
四、宝塔 Docker 常用操作(复制即用)
| 操作 | 命令 |
|---|---|
| 看实时日志 | docker logs -f cloudflared |
| 是否 Registered | `docker logs cloudflared 2>&1 |
| 重启隧道 | docker restart cloudflared |
| 开机自启 | 宝塔 Docker → 容器 → 更多 → 重建 → 重启策略选 unless-stopped |
五、常见问题快速定位
| 现象 | 宝塔命令 |
|---|---|
| 502 | curl -H "Host:域名" http://127.0.0.1:2025 |
| 容器无限重启 | `docker logs cloudflared |
| 橙色云不亮 | CF 面板 DNS 点成橙色 |
写在最后
宝塔负责建站,Docker负责隔离,Cloudflare负责HTTPS+全球加速——三者合体,就是当下不错的内网穿透方案。
![图片[1] - 宝塔Docker跑Cloudflare Tunnel,内网穿透新方案 运行Nginx网站 - 浅染博客-浅染のBlog 图片[1] - 宝塔Docker跑Cloudflare Tunnel,内网穿透新方案 运行Nginx网站 - 浅染博客-浅染のBlog](https://www.banwagong.net/wp-content/uploads/2023/12/banwagongnet_baota_docker.jpg)