我尝试使用 Apache 服务器 2.4.6 和 headers_module 设置带有环境变量**的自定义 HTTP 标头。
我在端口 80 上的 HTTP VHost 中工作。
一切都按预期进行,基本示例如下:
Header set MyHeader "%D %t"
我已阅读 mod_headers 的 Apache 文档:https://httpd.apache.org/docs/2.4/en/mod/mod_headers.html#header
据说可以使用以下方式访问环境变量
%{ENVVARNAME}e
(ENVVARNAME 是 ENV 变量的名称)
我还阅读了其他帖子,但没有真正有效的答案: Apache set custom header with an environment variable
但我的问题是添加一个标头而不是像 HOSTNAME 环境值那样标识我的 Apache 服务器
Header Set X-Serv %{HOSTNAME}e
不成功:始终显示 X-Serv:{null} 而不是值
SetEnv myvar ${HOSTNAME}
Header set X-Serv %{myvar}e
没有成功:它显示在我的 HTTP 标头中:X-Serv: %{myvar}e
我还尝试了其他一些不同的组合:
请注意:我的 HOSTNAME 环境变量存在,并且它显示在“env”命令中,其中 apache 用户拥有 httpd 进程
任何想法?