包含 Cloudflare Tunnel 的命令行客户端,这是一个隧道守护进程,用于将流量从 Cloudflare 网络代理到你的源站。
该守护进程位于 Cloudflare 网络与你的源站(例如 Web 服务器)之间。Cloudflare 接收客户端请求,并通过该守护进程将其发送给你,
而无需你在防火墙上打洞——你的源站可以尽可能保持关闭状态。
详细文档可在 Cloudflare Docs 的 Cloudflare Tunnel 部分中找到。
所有与代理到源站相关的用法均可在 cloudflared tunnel help 下查看。
你还可以使用 cloudflared 在第 4 层(即非 HTTP/websocket)访问受 cloudflared tunnel 保护的 Tunnel 源站以传输 TCP 流量,
这适用于 SSH、RDP 等用例。
此类用法可在 cloudflared access help 下查看。
你也可以改用 WARP 客户端
来访问 Tunnel 后方的私有源站以传输第 4 层流量,而无需在客户端侧使用 cloudflared access 命令。
在使用 Cloudflare Tunnel 之前,你需要在 Cloudflare 仪表板中完成几个步骤:你需要向你的 Cloudflare 账户添加一个 网站。请注意,如今可以在没有网站的情况下使用 Tunnel(例如用于私有 路由),但出于历史原因,这一要求仍然必要:
cloudflared下载内容以独立二进制文件、Docker 镜像以及 Debian、RPM 和 Homebrew 软件包的形式提供。你也可以在 cloudflared GitHub 仓库的此处找到发布版本。
cloudflared 的 Docker 镜像可在 DockerHub 上获取make cloudflared。Cloudflare Tunnel 的用户文档可在 https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/ 找到
安装完成后,你可以将 cloudflared 认证到你的 Cloudflare 账户,并开始创建 Tunnel 以将流量提供给你的源站。
想在向 Cloudflare 添加网站之前测试 Cloudflare Tunnel?你可以使用 TryCloudflare,相关文档可在此处获取。
移除 CLI 标志、环境变量、配置键或命令属于破坏性 变更。此类移除必须在移除它们的版本发布之前,在 Cloudflare Tunnel 变更日志中公布。
Cloudflare 目前支持距最新发布版本一年以内的 cloudflared 版本。可能会引入与功能可用性无关的破坏性变更,从而影响一年前发布的版本。你可以在我们的开发者文档中阅读更多关于升级 cloudflared 的内容。
例如,截至 2023 年 1 月,Cloudflare 将支持 cloudflared 版本 2023.1.1 至 cloudflared 2022.1.1。
要在本地构建 cloudflared,请运行 make cloudflared
要在本地运行测试,请运行 make test
要格式化代码并保持良好的代码质量,请使用 make fmt 和 make lint
在更改接口之后,你可能需要重新生成 mock,因此请运行 make mocks
为避免 CI 错误,你可以安装 pre-push 钩子,在每次推送前运行代码检查和测试:
make install-hooks
这将配置 git 使用 .githooks/ 中的钩子,在每次推送前运行 make fmt-check lint test。