扁平指令(29 条)

全部写在 http {} 里,对所有隧道生效。类型栏:str 字符串、flag 开关、num 整数、 msec 毫秒、addr 单个 IP 地址。

连接与凭据 ​

指令类型默认说明
cfd_tunnel_credentialsstr空(=不启用)cloudflared 凭据 JSON 路径;与 token / token_file / 快速隧道互斥
cfd_tunnel_tokenstr空控制台给的那串 token(eyJhIjoi…),等价 --token;原样用,不 trim
cfd_tunnel_token_filestr空从文件读 token,等价 --token-file;内容先 TrimSpace
cfd_tunnel_edgestrregion1.v2.argotunnel.com:7844边缘 host[:port],支持 [v6]:port;TLS SNI 恒为 h2.cftunnel.com,与它无关
cfd_tunnel_inject_listenstr空 = 自动挑注入目标 listen;留空则由注入器在已有监听器里挑
cfd_tunnel_ca_filestr空 = 系统默认 CA校验边缘证书的 CA
cfd_tunnel_insecureflagoff仅测试:跳过证书与主机名校验
cfd_tunnel_versionstrCFD-C-nginx/0.2注册时上报的客户端版本串
nginx
cfd_tunnel_token         eyJhIjoi...;
cfd_tunnel_edge          region1.v2.argotunnel.com:7844;
cfd_tunnel_inject_listen 127.0.0.1:8080;

时序、重连与连接标识 ​

指令类型默认说明
cfd_tunnel_connect_timeoutmsec5000TCP 连接超时
cfd_tunnel_handshake_timeoutmsec10000TLS 握手超时
cfd_tunnel_ping_intervalmsec0 = 关闭静默这么久就发 h2 PING。cloudflared 自己也不发,所以默认关;生产建议 15s
cfd_tunnel_ping_timeoutmsec15000PING 未确认多久判死(x/net 的 PingTimeout 值)
cfd_tunnel_reconnect_delaymsec1000退避初值
cfd_tunnel_reconnect_maxmsec60000退避上限
cfd_tunnel_conn_indexnum-1 = 用 worker 槽位注册时上报的 connIndex

日志 ​

指令类型默认说明
cfd_tunnel_verboseflagoff打开协议细节日志(INFO 级);量大,别长期开

接收侧背压(7 条) ​

指令类型默认说明
cfd_tunnel_stream_bq_hwmsize1m第 1 层:单流高水位(按真正交给 nginx 的字节)
cfd_tunnel_global_bq_limitsize64m第 2 层:全局预算;多隧道时上界是 N × 这个值
cfd_tunnel_global_bq_reject_rationum90(%)第 5 层:积压到预算的百分之多少就拒新流
cfd_tunnel_stream_stall_windowmsec60000第 3 层:判定停滞的窗口长度
cfd_tunnel_stream_stall_rationum0 = 关闭第 3 层:比例判据(opt-in,只接受 0 或 2..100000)
cfd_tunnel_stream_stall_min_bqsize512k第 3 层:积压低于它不判停滞
cfd_tunnel_conn_window_early_releaseflagon连接级窗口早还;off = 一键退回严格对齐 cloudflared

第 3 层的判据(0.9.1 起收窄)

只有「对端整整一个窗口一字节都没送进来」才算停滞;stall_ratio 默认 0(关闭), 需要比例判据时显式打开。

快速隧道(3 条) ​

指令类型默认说明
cfd_tunnel_quick_tunnelflagoff启动时申请一条临时隧道(不需要凭据);与凭据互斥
cfd_tunnel_quick_servicestrhttps://api.trycloudflare.comquick service 基址(与 cloudflared 隐藏 flag --quick-service 同名同义)
cfd_tunnel_quick_timeoutmsec15000provisioning 总预算;cloudflared 的 httpTimeout 是常量 15s,可调只为测试能缩短

远程配置(2 条) ​

指令类型默认说明
cfd_tunnel_remote_configflagoff接受边缘下发的 update-configuration;off 时连 features 里都不宣告 allow_remote_config
cfd_tunnel_host_overridestr空 = 不改写注入时把 Host 改成它,并把访客 hostname 放进 X-Forwarded-Host;与 remote_config 无关,单独可用

注入来源地址(1 条) ​

指令类型默认说明
cfd_tunnel_inject_source_addraddr空 = 127.0.0.1虚拟连接的对端地址;只收单个 IPv4/IPv6 地址(不写网段与端口),配置期解析 + 规范化。默认值刻意保持 127.0.0.1(对齐 cloudflared 直面本机源站的样子)

模块文档 · 对齐依据是 cloudflared 的源码与实测行为