我在尝试在我的vhost中设置请求 header 时正在使用ProxyPass:

<VirtualHost *:443>
    ...
    RequestHeader set X-REMOTE-USER "%{REMOTE_USER}s"
    ProxyPass / http://127.0.0.1:9292/
    ProxyPassReverse / http://127.0.0.1:9292/
    ...
</VirtualHost>

但是,当检查要发送到运行在端口9292上的应用程序的 header 时,我看到:
"HTTP_X_REMOTE_USER"=>"(null)"

这是否表示未设置REMOTE_USER或我使用RequestHeader不正确?有什么方法可以调试虚拟主机中可用的环境变量?

最佳答案

问题在于,这些变量可用于mod_rewrite而不适用于mod_headers

在这里,您可以找到类似问题的完整答案:

  • REMOTE_USER through Apache reverse proxy

  • 要获取所有可用环境变量的列表,可以在服务器中使用printenv命令,或浏览此common enviroment variables列表。

    09-19 09:31