本页列出了 cloudflared tunnel run 命令的配置标志。对于远程托管隧道,请将这些标志添加到隧道服务中。如果您使用的是本地托管隧道,请将这些标志作为键值对添加到您的配置文件中。
远程托管隧道在您的操作系统上作为服务运行。要将运行参数添加到隧道服务文件:
在 Linux 上,Cloudflare Tunnel 使用 systemctl 将自身安装为系统服务。默认情况下,该服务将被命名为 cloudflared.service。要在 Linux 上配置您的隧道:
-
打开
cloudflared.service。sudo systemctl edit --full cloudflared.service -
使用所需的配置标志修改
cloudflared tunnel run命令。例如,[Unit] Description=Cloudflare Tunnel After=network.target [Service] TimeoutStartSec=0 Type=notify ExecStart=/usr/local/bin/cloudflared tunnel --loglevel info --logfile /var/log/cloudflared/cloudflared.log run --token <TOKEN VALUE> Restart=on-failure RestartSec=5s [Install] WantedBy=multi-user.target -
重启
cloudflared.service:sudo systemctl restart cloudflared -
要验证新配置,请检查服务 status:
sudo systemctl status cloudflared● cloudflared.service - cloudflared Loaded: loaded (/etc/systemd/system/cloudflared.service; enabled; preset: enabled) Active: active (running) since Wed 2024-10-09 20:02:59 UTC; 2s ago Main PID: 2157 (cloudflared) Tasks: 8 (limit: 1136) Memory: 16.3M CPU: 136ms CGroup: /system.slice/cloudflared.service └─2157 /usr/bin/cloudflared tunnel --loglevel info --logfile /var/log/cloudflared/cloudflared.log run --token eyJhIjoi...
在 macOS 上,Cloudflare Tunnel 使用 launchctl 将自身安装为 launch agent。默认情况下,该 agent 将被命名为 com.cloudflare.cloudflared。要在 macOS 上配置您的隧道:
-
停止
cloudflared服务。sudo launchctl stop com.cloudflare.cloudflared -
卸载配置文件。
sudo launchctl unload /Library/LaunchDaemons/com.cloudflare.cloudflared.plist -
在文本编辑器中打开
/Library/LaunchDaemons/com.cloudflare.cloudflared.plist。 -
使用所需的配置标志修改
ProgramArguments键。例如,<plist version="1.0"> <dict> <key>Label</key> <string>com.cloudflare.cloudflared</string> <key>ProgramArguments</key> <array> <string>/opt/homebrew/bin/cloudflared</string> <string>tunnel</string> <string>--logfile</string> <string><PATH></string> <string>--loglevel</string> <string>debug</string> <string>run</string> <string>--token</string> <string><TOKEN VALUE> </string> </array> -
加载更新后的配置文件。
sudo launchctl load /Library/LaunchDaemons/com.cloudflare.cloudflared.plist -
启动
cloudflared服务。sudo launchctl start com.cloudflare.cloudflared
在 Windows 上,Cloudflare Tunnel 使用注册表编辑器将自身安装为系统服务。默认情况下,该服务将被命名为 cloudflared。要在 Windows 上配置您的隧道:
-
打开注册表编辑器。
-
前往 HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > cloudflared。
-
双击 ImagePath。
-
使用所需的配置标志修改 Value data(数值数据)。例如,
C:\Program Files (x86)\cloudflared\.\cloudflared.exe tunnel --loglevel info --logfile <PATH> run --token <TOKEN VALUE>

| 语法 | 默认值 |
|---|---|
cloudflared tunnel --autoupdate-freq <FREQ> run <UUID or NAME> |
24h |
配置 cloudflared 更新的频率。
默认情况下,cloudflared 会定期检查更新并使用新版本重新启动。重新启动是通过生成一个连接到 Cloudflare 全球网络的新进程来执行的。成功连接后,旧进程将在处理完所有未完成的请求后优雅地关闭。另请参阅:no-autoupdate。
| 语法 | 默认值 |
|---|---|
cloudflared tunnel --config <PATH> run <UUID or NAME> |
~/.cloudflared/config.yml |
指定 YAML 格式的配置文件的路径。
| 语法 | 环境变量 |
|---|---|
cloudflared tunnel run --dns-resolver-addrs <IP:PORT> <UUID or NAME> |
TUNNEL_DNS_RESOLVER_ADDRS |
指定自定义 DNS 解析器地址,供 cloudflared 使用以替代宿主机的默认解析器。每个地址必须采用 ip:port 格式——提供不带端口的 IP 地址将导致 cloudflared 启动失败。您可以通过重复该标志来指定多个解析器。例如,
cloudflared tunnel run --dns-resolver-addrs 1.1.1.1:53 --dns-resolver-addrs 1.0.0.1:53 <UUID or NAME>当指定多个解析器时,cloudflared 会为每个 DNS 请求随机选择一个。最多允许 10 个解析器地址。
| 语法 | 环境变量 |
|---|---|
cloudflared tunnel --edge-bind-address <IP> run <UUID or NAME> |
TUNNEL_EDGE_BIND_ADDRESS |
指定用于在 cloudflared 与 Cloudflare 全球网络之间建立连接的传出 IP 地址。
默认情况下,cloudflared 让操作系统决定使用哪个 IP 地址。如果您有多个可用的网络接口并希望首选特定接口,则此选项很有用。
edge-bind-address 的 IP 版本将覆盖 edge-ip-version(如果提供)。例如,如果您输入 IPv6 源地址,cloudflared 将始终连接到 IPv6 目的地。
| 语法 | 默认值 | 环境变量 |
|---|---|---|
cloudflared tunnel --edge-ip-version <VERSION> run <UUID or NAME> |
4 |
TUNNEL_EDGE_IP_VERSION |
指定用于在 cloudflared 与 Cloudflare 全球网络之间建立连接的 IP 地址版本(IPv4 或 IPv6)。可用值为 auto、4 和 6。
值 auto 依赖宿主操作系统来决定选择哪个 IP 版本。从区域查找的 DNS 解析返回的第一个 IP 版本将被用作主要集合。在 IPv6 和 IPv4 双栈网络设置中,cloudflared 会将 IP 版本分成两个地址集,以便在连接失败场景中进行回退。
| 语法 | 默认值 | 环境变量 |
|---|---|---|
cloudflared tunnel --grace-period <PERIOD> run <UUID or NAME> |
30s |
TUNNEL_GRACE_PERIOD |
当 cloudflared 收到 SIGINT/SIGTERM 时,它将停止接受新请求,等待正在进行的请求终止,然后关闭。等待正在进行的请求将在该优雅期过后超时,或者在收到第二个 SIGTERM/SIGINT 时超时。
| 语法 | 环境变量 |
|---|---|
cloudflared tunnel --logfile <PATH> run <UUID or NAME> |
TUNNEL_LOGFILE |
将应用程序日志保存到此文件。主要用于报告问题。有关联系 Cloudflare 支持时需要提供哪些信息的更多详细信息,请参阅本指南。
| 语法 | 默认值 | 环境变量 |
|---|---|---|
cloudflared tunnel --loglevel <VALUE> run <UUID or NAME> |
info |
TUNNEL_LOGLEVEL |
指定本地 cloudflared 实例的日志记录详细程度。可用值为 debug、info(默认)、warn、error 和 fatal。在 debug 级别,cloudflared 将记录并显示请求 URL、方法、协议、内容长度,以及所有请求和响应头。但请注意,这可能会泄露日志中的敏感信息。
| 语法 | 默认值 | 环境变量 |
|---|---|---|
cloudflared tunnel --metrics <IP:PORT> run <UUID or NAME> |
请参阅 Tunnel 指标 | TUNNEL_METRICS |
在指定的 IP 地址和端口上公开 Prometheus 端点,然后您可以对其进行查询以获取使用指标。
| 语法 | 环境变量 |
|---|---|
cloudflared tunnel --no-autoupdate run <UUID or NAME> |
NO_AUTOUPDATE |
禁用 cloudflared 的自动更新。另请参阅:autoupdate-freq。
| 语法 | 默认值 | 环境变量 |
|---|---|---|
cloudflared tunnel --origincert <PATH> run <UUID or NAME> |
~/.cloudflared/cert.pem |
TUNNEL_ORIGIN_CERT |
指定您其中一个区域的账户证书,授权客户端作为该区域的源服务器。您可以使用 cloudflared tunnel login 命令或访问 https://dash.cloudflare.com/argotunnel 来获取证书。
| 语法 | 环境变量 |
|---|---|
cloudflared tunnel --pidfile <PATH> run <UUID or NAME> |
TUNNEL_PIDFILE |
在首次成功连接后,将应用程序的进程标识符 (PID) 写入此文件。主要用于脚本编写和服务集成。
| 语法 | 环境变量 |
|---|---|
cloudflared tunnel run --post-quantum <UUID or NAME> |
TUNNEL_POST_QUANTUM |
默认情况下,通过 quic 建立的 Cloudflare Tunnel 连接使用后量子密码学 (PQC)进行加密,但在连接出现问题时将回退到非 PQ。如果提供了 --post-quantum 标志,则 quic 连接仅允许使用 PQ 密钥协商,不会回退到非 PQ。
使用 http2 协议时不支持后量子密钥协商。
| 语法 | 默认值 | 环境变量 |
|---|---|---|
cloudflared tunnel --protocol <VALUE> run <UUID or NAME> |
auto |
TUNNEL_TRANSPORT_PROTOCOL |
指定用于在 cloudflared 与 Cloudflare 全球网络之间建立连接的协议。可用值为 auto、http2 和 quic。
auto 值将自动配置 quic 协议。如果 cloudflared 无法建立 UDP 连接,它将回退使用 http2 协议。
| 语法 | 环境变量 |
|---|---|
cloudflared tunnel --region <VALUE> run <UUID or NAME> |
TUNNEL_REGION |
允许您选择建立连接的区域。目前唯一可用的值是 us,这会通过美国的数据中心路由所有连接。省略或留空以连接到全球区域。
当区域设置为 us 时,cloudflared 会使用特定的美国主机名和 IP。有关详细信息,请参阅带防火墙的 Tunnel(Tunnel with firewall)。
| 语法 | 默认值 | 环境变量 |
|---|---|---|
cloudflared tunnel --retries <VALUE> run <UUID or NAME> |
5 |
TUNNEL_RETRIES |
指定发生连接/协议错误时的最大重试次数。重试使用指数退避(默认在 1、2、4、8、16 秒时重试),因此不建议您显著增加此值。
| 语法 | 环境变量 |
|---|---|
cloudflared tunnel --tag <KEY=VAL> run <UUID or NAME> |
TUNNEL_TAG |
指定用于标识此隧道的自定义标签。可以通过向命令中添加额外的 --tag <KEY=VAL> 标志来指定多个标签。如果在配置文件中输入多个标签,请用逗号分隔:tag: {KEY1=VALUE1, KEY2=VALUE2}。
| 语法 | 环境变量 |
|---|---|
cloudflared tunnel run --token <TUNNEL_TOKEN> |
TUNNEL_TOKEN |
将 cloudflared 实例与特定隧道关联。当您首次创建隧道时,该隧道的令牌会显示在仪表板中。您也可以使用 API 检索令牌。
| 语法 | 环境变量 |
|---|---|
cloudflared tunnel run --token-file <PATH> |
TUNNEL_TOKEN_FILE |
使用包含令牌的文件将 cloudflared 实例与特定隧道相关联。