文档/ 深入

代理与请求头

这一页是给非标场景准备的:网络受限、不同凭据需要不同出口,或上游要求特殊请求头。用不到就不用看。

什么时候需要§

常见的几种情况:

  • 服务器访问不了某些上游——需要走代理出去
  • 不同凭据要走不同出口——比如按区域分流
  • 上游要求特定请求头——某些中转服务会校验来源标识

没有这些需求的话,这一页的配置全都留空即可。

出站代理§

代理配置有三种模式:

  • 继承——用上一级的配置,这是默认值
  • 直连——明确不走代理, 即使上一级配了也不用
  • 自定义——指定具体的代理地址
直连不等于继承

这两个容易混。继承是「跟着上级走」,上级配了代理就走代理;直连是「明确不走」,用来给个别凭据开例外—— 比如大部分上游要代理,但有一个在内网、走代理反而不通。

四级覆盖§

代理可以配在四个层级,越具体的优先。 完整的优先级链是:凭据 → 分组 → 全局 → 环境变量 → 直连。

  1. 环境变量——HTTP_PROXY HTTPS_PROXY,进程级的兜底出口。 只在上面三级都没有明确指定时才生效,改完需要重启进程
  2. 全局——管理台里配置的默认出口
  3. 分组——覆盖全局,这个分组的所有凭据都走它
  4. 单个凭据——覆盖分组,只对这一个凭据生效
环境变量是最后一层,不是第一层

管理台里选继承时,才会继续往下找;一路都是继承,最后才落到HTTP_PROXY 这类环境变量上。所以在管理台配了全局代理之后, 环境变量就不再起作用了。反过来,任何一级选了直连, 环境变量同样不生效。
这三个变量在 环境变量 页有完整说明。

凭据级这一层是很多网关没有的。实际用途: 同一个服务商的多个账号分属不同区域, 需要各自从对应区域的出口访问,否则会被判定为异地登录。

请求头规则§

可以在转发前修改发往上游的请求头,支持添加删除两类动作。配置分全局与分组两级。

典型用途:

  • 补上游要求的标识头——某些中转服务需要特定的来源标记
  • 去掉客户端带来的干扰头—— 有些客户端会附带自己的追踪头,上游可能不接受
别动认证头

认证相关的头由网关自己管理——它需要按选中的凭据动态填充。 用规则去改它会导致请求失败。

用量选项注入§

部分上游默认不返回 token 用量,需要在请求里显式声明才给。 开启用量选项注入后,网关会自动加上这个声明。

影响的是统计和成本估算的完整度—— 没有用量数据的请求,在监控页会计入「用量缺失」,也不产生成本估算。

如果你发现某个分组的成本估算明显偏低、 或者「用量缺失」数字很大,先检查这个开关,见 监控与排障

配置位置见 运行时设置

代理与请求头 - GPT-Load