
开头说明
很多人在家里部署了 Immich、Open WebUI、NAS、个人博客后台、面板工具之后,都会遇到同一个问题:在家里 Wi-Fi 下能打开,出门后就访问不了。传统做法是公网 IP、端口转发、动态域名,但对普通用户来说,这些配置复杂,而且安全风险也更高。
Cloudflare Tunnel 提供了一种更适合新手的方式:家里的电脑或服务器主动连接 Cloudflare,再通过自己的域名访问家里的服务。一般情况下,不需要公网 IP,也不需要在路由器里开放端口。
本文按小白能照着做的思路,讲清楚 Cloudflare Tunnel 是什么、适合哪些服务、需要准备什么、怎么配置、怎么加访问保护,以及哪些服务不建议直接公开。
Cloudflare Tunnel 适合什么场景
- 在外面访问家里的 Immich 家庭相册。
- 访问家里的 Open WebUI 或本地 AI 服务。
- 访问 NAS 管理页面或文件服务。
- 访问家庭服务器上的测试网站。
- 给个人工具设置一个 HTTPS 域名。
不建议把高风险管理后台裸露公开。相册、NAS、面板、数据库、路由器后台,都应该加访问保护。
准备工作
- 一个 Cloudflare 账号。
- 一个已经接入 Cloudflare 的域名。
- 家里有一台长期运行的电脑、NAS 或小主机。
- 本地服务已经能在局域网打开,例如
http://192.168.1.50:2283。 - 了解自己要公开的是哪个端口。
第一步:先确认本地服务能打开
不要一开始就配置 Tunnel。先在家里局域网测试本地服务。
http://192.168.1.50:2283
如果家里手机都打不开这个地址,Cloudflare Tunnel 配好也没用。先检查旧电脑 IP、防火墙、Docker 服务和端口。
第二步:进入 Cloudflare Zero Trust
- 登录 Cloudflare 后台。
- 进入 Zero Trust。
- 第一次使用时按提示创建组织名称。
- 进入 Networks 或 Tunnels 页面。
- 点击创建 Tunnel。
Cloudflare 页面经常更新,菜单名称可能有轻微变化。只要找到 Zero Trust 里的 Tunnel 入口即可。
第三步:创建 Tunnel
创建 Tunnel 时,建议名称写清楚用途,例如:
home-immich
home-openwebui
home-nas
名称只给自己看,后面服务多了以后,清楚命名会非常重要。
第四步:安装 cloudflared
Cloudflare Tunnel 需要在家里的电脑或服务器上运行 cloudflared。它负责把家里的服务连接到 Cloudflare。
如果使用 Docker,可以按 Cloudflare 页面生成的命令运行。常见 Docker Compose 示例:
services:
cloudflared:
image: cloudflare/cloudflared:latest
container_name: cloudflared
restart: unless-stopped
command: tunnel --no-autoupdate run --token 这里换成你的TunnelToken
注意:token 不要发给别人,也不要写进公开文章、截图或视频里。
第五步:配置 Public Hostname
Public Hostname 就是外面访问的域名和家里服务之间的对应关系。
| 项目 | 示例 |
|---|---|
| Subdomain | photos |
| Domain | example.com |
| Type | HTTP |
| URL | 192.168.1.50:2283 |
配置后,外网访问地址就是:
https://photos.example.com
第六步:给服务加 Cloudflare Access
如果是家庭相册、NAS、后台面板,建议加 Cloudflare Access。它可以让访问者先通过邮箱、验证码或身份规则验证,再进入你的服务。
- 进入 Zero Trust 的 Access。
- 创建 Application。
- 选择 Self-hosted。
- 填写域名,例如
photos.example.com。 - 添加允许访问的邮箱。
- 保存规则。
这样即使别人知道你的域名,也不能直接打开你的家庭服务。
第七步:哪些服务不建议公开
- 路由器管理后台。
- 数据库管理工具。
- 没有密码保护的文件目录。
- 默认账号密码未修改的面板。
- 包含大量私人照片的服务。
如果确实要外网访问,至少加 Access、强密码、两步验证,并定期更新软件。
常见问题
1. 没有公网 IP 能用吗?
可以。Cloudflare Tunnel 的一个价值就是不依赖公网 IP,家里的设备主动连接 Cloudflare。
2. 需要在路由器开放端口吗?
一般不需要。这比传统端口转发更适合普通家庭用户。
3. 域名必须托管到 Cloudflare 吗?
建议接入 Cloudflare 管理,这样 Tunnel、DNS 和 Access 配置更顺畅。
4. 为什么配置后打不开?
先检查本地服务能否在局域网打开,再检查 cloudflared 是否运行,最后检查 Public Hostname 的服务地址和端口是否正确。
总结
Cloudflare Tunnel 适合把家里的服务安全地带到外网,但它不是“随便公开一切”的理由。新手最稳的做法是:先保证局域网可用,再配置 Tunnel,最后给隐私服务加 Cloudflare Access。能不暴露端口,就不要暴露端口;能加访问保护,就不要裸奔。
参考资料
- Cloudflare Docs:Cloudflare Tunnel
- Cloudflare Docs:Set up your first tunnel
- Cloudflare Docs:Zero Trust get started
最后更新:2026 年 8 月 27 日