指令总览

模块共有 42 条指令:

类别条数在哪
扁平指令 cfd_tunnel_*29http {}(模块级)
块指令 cfd_tunnel1http {},每条隧道一个块
块内指令12cfd_tunnel { … } 里
合计42与 ngx_command_t 的 42 项逐条对数一致

29 条扁平指令的分组 ​

分组条数指令
连接与凭据8credentials、token、token_file、edge、inject_listen、ca_file、insecure、version
时序与重连7connect_timeout、handshake_timeout、ping_interval、ping_timeout、reconnect_delay、reconnect_max、conn_index
日志1verbose
接收侧背压7stream_bq_hwm、global_bq_limit、global_bq_reject_ratio、stream_stall_window、stream_stall_ratio、stream_stall_min_bq、conn_window_early_release
快速隧道3quick_tunnel、quick_service、quick_timeout
远程配置2remote_config、host_override
注入来源地址1inject_source_addr

12 条块内指令 ​

name、credentials、token、token_file、quick、quick_service、quick_timeout、 inject_listen、inject_source_addr、remote_config、host_override、conn_index。

继承与作用域 ​

指令模块级块内块内默认
edge / 超时 / 重连 / 背压 / 日志 / ca_file / insecure✅❌(只有模块级)所有隧道共用
inject_source_addr✅✅块内不写 ⇒ 继承模块级
quick_service / quick_timeout✅✅块内不写 ⇒ 继承模块级
inject_listen✅✅块内必须写(除非开了 remote_config)
host_override / remote_config✅✅块内不写 ⇒ 不启用 / 继承判断
name / conn_index❌✅name 缺省用 #序号;conn_index 缺省按 worker

三个必须记住的互斥 ​

  1. 凭据来源 credentials / token / token_file 三选一(块内加上 quick 是四选一)。
  2. 块写法与扁平写法不能混用(inject_source_addr / quick_service / quick_timeout 例外, 它们本来就设计成「模块级一份 + 块内可覆盖」)。
  3. 快速隧道与凭据互斥。

任何一条违反都是 配置期 EMERG(nginx -t 直接失败),不是运行时才报。

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