macos 上部署 cloudflare tunnel 有四种方式:一、homebrew 安装(推荐);二、手动下载二进制文件(适配 apple silicon/intel);三、docker 运行(无宿主依赖);四、homebrew cask 安装(支持开机自启)。

如果您希望在 macOS 系统上部署 Cloudflare Tunnel,使本地服务(如 Web 服务器、机器人网关或开发环境)可通过公网安全访问,则需正确安装并配置 cloudflared 工具。以下是完成该任务的多种可行路径:
一、通过 Homebrew 安装(推荐方式)
Homebrew 是 macOS 最主流的包管理器,可一键安装最新稳定版 cloudflared,并便于后续更新与维护。
1、确保已安装 Homebrew。若未安装,执行:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
2、更新 Homebrew 索引:brew update
3、安装 cloudflared:brew install cloudflared
4、验证安装成功:cloudflared --version
输出应包含类似 2026.3.x 的版本号,表明已就绪。
二、手动下载二进制文件安装
适用于无法使用 Homebrew 的受限环境(如 M1/M2 芯片设备未启用 Rosetta,或企业策略禁用第三方包管理器),直接获取官方预编译二进制文件并赋予执行权限。
1、创建专用目录存放工具:mkdir -p ~/bin && cd ~/bin
2、下载适用于 Apple Silicon(ARM64)的最新版本:curl -L "https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-darwin-arm64" -o cloudflared
3、若为 Intel Mac,请改用:curl -L "https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-darwin-amd64" -o cloudflared
4、赋予可执行权限:chmod +x cloudflared
5、将该目录加入系统 PATH(编辑 ~/.zprofile 或 ~/.zshrc):echo 'export PATH="$HOME/bin:$PATH"' >> ~/.zprofile && source ~/.zprofile
6、验证命令全局可用:cloudflared --version
返回有效版本即表示安装完成,无需重启终端,但需重新加载 shell 配置。
三、通过 Docker 运行 cloudflared(无宿主安装依赖)
此方式不向 macOS 主机写入任何二进制文件,所有运行依赖均封装于容器内,适合临时调试、CI 环境或沙箱化部署场景。
1、确保已安装 Docker Desktop 并正在运行。
2、拉取官方 cloudflared 镜像:docker pull cloudflare/cloudflared
3、执行一次性隧道命令(以本地 8000 端口为例):docker run --rm -it -v $(pwd)/.cloudflared:/home/nonroot/.cloudflared cloudflare/cloudflared tunnel --url http://host.docker.internal:8000
4、注意:macOS 上容器需通过 host.docker.internal 访问宿主机服务,而非 127.0.0.1;首次运行会触发登录流程,需挂载证书目录持久化。
5、如需长期运行隧道,应先完成 tunnel login 并生成配置文件,再通过 docker run 加载 config.yml 启动。
四、使用 Homebrew Cask 安装图形化封装版(含自动服务注册)
该方式额外集成 launchd 服务定义,支持开机自启 tunnel 实例,适合需长期驻留的生产级本地服务暴露场景。
1、安装 cask 版本(需 Homebrew 已启用 cask):brew install --cask cloudflared
2、初始化隧道并绑定到系统服务:cloudflared service install
3、启动服务:sudo brew services start cloudflared
4、查看服务状态:sudo brew services list | grep cloudflared
状态显示 started 表示后台隧道进程已激活。
5、默认配置路径为 /usr/local/etc/cloudflared/config.yml,需手动编辑以指定 tunnel UUID、credentials-file 及 ingress 规则。









