apache2 无法将 REMOTE_ADDR 或任何其他变量设置为标头

apache2 无法将 REMOTE_ADDR 或任何其他变量设置为标头

我试图将 apache 设置为反向代理,并且我需要添加例如 REMOTE_ADDR 和一些其他值作为标题(后端所需),但由于某种原因,总是设置“null”。

忽略代理部分,设置标头应该相当简单并且可以正常工作:Header set x-remote test

因此 mod_headers 应该可以工作,否则标题就不会被设置?!

尝试设置 REMOTE_ADDR 或任何其他 VAR(SERVER_NAME、HTTP_HOST),只会设置“null”

标头设置 x-remote %{REMOTE_ADDR}e

语法似乎正确,并且没有在任何地方记录/显示任何错误。redis-/enable mod_headers 不起作用,也没有重新安装所有内容...在 SLES 15SP4 上运行

答案1

将 Apache mod_proxy 发送到后端服务器的请求标头添加至需要ProxyAddHeaders指令而不是 mod_headers Header set

答案2

如果您尝试将标题添加到要求发送到后端服务器(例如让后端服务器认为标头是由客户端发送的),您需要使用请求头指令。标头指令用于设置回复标题(即客户端在回复中收到的内容)。

请参阅此处的区别:

https://httpd.apache.org/docs/2.4/mod/mod_headers.html#requestheader https://httpd.apache.org/docs/2.4/mod/mod_headers.html#header

相关内容