Cloudflare Tunnel 配置
使用免费的 Cloudflare Tunnel 从任何地方访问你的 Mac。
Cloudflare Tunnel 让你从任何网络连接到 Mac——蜂窝数据、不同 WiFi 或全球各地。无需端口转发或路由器配置。
适用场景
- iPhone 和 Mac 不在同一网络(如外出时使用)。
- 网络阻止设备间直接连接。
- 需要默认的 HTTPS/WSS 加密。
工作原理
cloudflared 从 Mac 创建一条仅出站的隧道连接到 Cloudflare 边缘节点。iPhone 连接到 Cloudflare URL,流量被中继到你的 Mac。路由器上不需要开放任何端口。
方案 A:Quick Tunnel(临时)
最快的上手方式。无需 Cloudflare 账号。URL 是随机的,每次重启都会变化。
使用 Mac App
在 Mac App 设置中开启 Cloudflare Tunnel。应用内部运行 cloudflared 并显示隧道 URL。
使用命令行
安装 cloudflared:
启动 Quick Tunnel:
cloudflared 会输出一个类似 https://random-words.trycloudflare.com 的 URL。在 iPhone App 中使用此 URL(连接模式设为 Public / Cloudflare)。
方案 B:Named Tunnel(持久 URL)
日常使用推荐 Named Tunnel,URL 固定不变。
前提条件:
- 免费 Cloudflare 账号。
- 一个由 Cloudflare 管理的域名(可以是免费域名)。
步骤:
-
认证:
-
创建隧道:
-
配置 DNS,将子域名指向隧道:
-
创建配置文件
~/.cloudflared/config.yml: -
运行:
你的持久 URL 为 wss://remote.yourdomain.com。
从 iPhone 连接
- 在 iPhone App 中切换到 Public (Cloudflare) 连接模式。
- 输入隧道 URL(随机的
*.trycloudflare.com或你的自定义域名)。 - 输入 API Key(公网访问必需)。
- 点击 Connect。
重要:公网隧道必须设置 API Key
当服务器可从互联网访问时,API Key 是强制性的。在启动服务器前设置环境变量:
或让 Mac App 为你自动生成(在菜单栏面板中显示)。
故障排查
- 隧道已连接但 iPhone 无法访问:确保本地服务器运行在隧道指向的端口上(默认:
8765)。 - DNS 无法解析:对于 Named Tunnel,检查 Cloudflare 面板中是否存在 CNAME 记录。
- 随机 URL 变了:Quick Tunnel 每次重启都会生成新 URL。使用 Named Tunnel 获得固定地址。