Apache 将 headers 分配给 HTTP 环境变量?

Apache assigning headers to HTTP environment variables?

当我在 back-end 内容 Apache 服务器上打印出环境变量时,我看到一组名为 HTTP_OBLIX_* 的变量 例如:
HTTP_OBLIX_UID
HTTP_OBLIX_电子邮件

我唯一能找到定义的 OBLIX 项目的地方是在请求 header 中,请求 header 被服务器上的单点登录发送到 back-end。它将所有 OBLIX 值定义为请求 header 变量。 例如:
OBLIX_UID
OBLIX_email

我在 Apache 配置中找不到任何地方可以将这些 header 转换为环境变量,所以我想知道这是 Apache 自动执行的操作还是这里发生了什么。

Apache 会将 any HTTP header 转换为这些 CGI 变量。变量大写,前缀为 HTTP_,破折号将替换为下划线。

我不认为这是 Apache 独有的。我相信其他遵循 CGI 模型的服务器也会这样做。您还可以在 PHP 中看到这一点,其中所有 HTTP header 都公开为 $_SERVER['HTTP_MY_HEADER']