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