扁平指令(29 条)
全部写在 http {} 里,对所有隧道生效。类型栏:str 字符串、flag 开关、num 整数、 msec 毫秒、addr 单个 IP 地址。
连接与凭据
| 指令 | 类型 | 默认 | 说明 |
|---|
cfd_tunnel_credentials | str | 空(=不启用) | cloudflared 凭据 JSON 路径;与 token / token_file / 快速隧道互斥 |
cfd_tunnel_token | str | 空 | 控制台给的那串 token(eyJhIjoi…),等价 --token;原样用,不 trim |
cfd_tunnel_token_file | str | 空 | 从文件读 token,等价 --token-file;内容先 TrimSpace |
cfd_tunnel_edge | str | region1.v2.argotunnel.com:7844 | 边缘 host[:port],支持 [v6]:port;TLS SNI 恒为 h2.cftunnel.com,与它无关 |
cfd_tunnel_inject_listen | str | 空 = 自动挑 | 注入目标 listen;留空则由注入器在已有监听器里挑 |
cfd_tunnel_ca_file | str | 空 = 系统默认 CA | 校验边缘证书的 CA |
cfd_tunnel_insecure | flag | off | 仅测试:跳过证书与主机名校验 |
cfd_tunnel_version | str | CFD-C-nginx/0.2 | 注册时上报的客户端版本串 |
nginxcfd_tunnel_token eyJhIjoi...;
cfd_tunnel_edge region1.v2.argotunnel.com:7844;
cfd_tunnel_inject_listen 127.0.0.1:8080;
时序、重连与连接标识
| 指令 | 类型 | 默认 | 说明 |
|---|
cfd_tunnel_connect_timeout | msec | 5000 | TCP 连接超时 |
cfd_tunnel_handshake_timeout | msec | 10000 | TLS 握手超时 |
cfd_tunnel_ping_interval | msec | 0 = 关闭 | 静默这么久就发 h2 PING。cloudflared 自己也不发,所以默认关;生产建议 15s |
cfd_tunnel_ping_timeout | msec | 15000 | PING 未确认多久判死(x/net 的 PingTimeout 值) |
cfd_tunnel_reconnect_delay | msec | 1000 | 退避初值 |
cfd_tunnel_reconnect_max | msec | 60000 | 退避上限 |
cfd_tunnel_conn_index | num | -1 = 用 worker 槽位 | 注册时上报的 connIndex |
日志
| 指令 | 类型 | 默认 | 说明 |
|---|
cfd_tunnel_verbose | flag | off | 打开协议细节日志(INFO 级);量大,别长期开 |
接收侧背压(7 条)
| 指令 | 类型 | 默认 | 说明 |
|---|
cfd_tunnel_stream_bq_hwm | size | 1m | 第 1 层:单流高水位(按真正交给 nginx 的字节) |
cfd_tunnel_global_bq_limit | size | 64m | 第 2 层:全局预算;多隧道时上界是 N × 这个值 |
cfd_tunnel_global_bq_reject_ratio | num | 90(%) | 第 5 层:积压到预算的百分之多少就拒新流 |
cfd_tunnel_stream_stall_window | msec | 60000 | 第 3 层:判定停滞的窗口长度 |
cfd_tunnel_stream_stall_ratio | num | 0 = 关闭 | 第 3 层:比例判据(opt-in,只接受 0 或 2..100000) |
cfd_tunnel_stream_stall_min_bq | size | 512k | 第 3 层:积压低于它不判停滞 |
cfd_tunnel_conn_window_early_release | flag | on | 连接级窗口早还;off = 一键退回严格对齐 cloudflared |
第 3 层的判据(0.9.1 起收窄)
只有「对端整整一个窗口一字节都没送进来」才算停滞;stall_ratio 默认 0(关闭), 需要比例判据时显式打开。
快速隧道(3 条)
| 指令 | 类型 | 默认 | 说明 |
|---|
cfd_tunnel_quick_tunnel | flag | off | 启动时申请一条临时隧道(不需要凭据);与凭据互斥 |
cfd_tunnel_quick_service | str | https://api.trycloudflare.com | quick service 基址(与 cloudflared 隐藏 flag --quick-service 同名同义) |
cfd_tunnel_quick_timeout | msec | 15000 | provisioning 总预算;cloudflared 的 httpTimeout 是常量 15s,可调只为测试能缩短 |
远程配置(2 条)
| 指令 | 类型 | 默认 | 说明 |
|---|
cfd_tunnel_remote_config | flag | off | 接受边缘下发的 update-configuration;off 时连 features 里都不宣告 allow_remote_config |
cfd_tunnel_host_override | str | 空 = 不改写 | 注入时把 Host 改成它,并把访客 hostname 放进 X-Forwarded-Host;与 remote_config 无关,单独可用 |
注入来源地址(1 条)
| 指令 | 类型 | 默认 | 说明 |
|---|
cfd_tunnel_inject_source_addr | addr | 空 = 127.0.0.1 | 虚拟连接的对端地址;只收单个 IPv4/IPv6 地址(不写网段与端口),配置期解析 + 规范化。默认值刻意保持 127.0.0.1(对齐 cloudflared 直面本机源站的样子) |