高级管理员

决定哪些客户端能接入你的模型

按请求头做放行/拒绝的准入规则——可匹配 User-Agent、来源或任意 header,作用域为全局 / 某个 key 组 / 某个 key。

社区真正在抱怨什么

「key 一泄露,谁拿着都能烧我们的额度」「我们想把全公司的 coding agent 都放进白名单,但要拦掉裸 curl 和爬虫」「厂商控制台只有 IP 白名单,可我们流量是动态的、还前置了代理,根本套不上」。

管控必须落在请求真正到达的地方——网关——而不是开发随手就能关掉的客户端设置上。

GateLLM 怎么做

GateLLM 对每个请求按 HTTP 头做准入判定:6 种匹配类型(exact / prefix / regex / exists / absent / any)、3 级作用域(全局 / key 组 / key),按 sort_order 升序、first-match-wins 逐条求值。

「只放行认可的客户端」走白名单模式:把该组的默认动作设为拒绝,再加一条匹配客户端特征的 allow 规则——其余请求在到达模型前就被拒掉。

落地的 5 个手段

  • 6 种匹配类型:exact / prefix / regex / exists / absent / any——一条规则可用正则交替表达「A 或 B 或 C」
  • 3 级作用域:全局、按 key 组、按 key——first-match-wins,同 order 下全局优先
  • 白名单模式:默认拒绝 + 单条显式 allow——新出现的未知客户端默认被拒
  • 规则同样作用于模型列表路由(/v1/models),被拒客户端端到端锁死
  • ReDoS-safe 线性时间正则引擎——病态 pattern 在加载期就被拒,而非请求期
完整教程:配置 Header ACL(docs 站)

FAQ