Lau*_*iné 6 mod-proxy proxypass apache-2.2
我有一个启用了 mod_proxy 的 Apache 网络服务器和一个 Virtualhost,proxy.domain.com。此代理配置为提示用户提供 AuthType Basic 凭据。然后,通过带有 ProxyPass 和 ProxyReverse 的代理可以访问 web.domain.com 的内容。但是,REMOTE_USER 变量为空。我阅读了不同的东西来使用 mod_rewrite 和 mod_headers 来实现这一点,但我所有的尝试都失败了。有人比我幸运吗?
谢谢。
bea*_*ans 12
这可以通过 mod_headers、mod_rewrite 和 mod_proxy 实现。
在代理上,我假设您的身份验证正常工作并正确设置 REMOTE_USER。如果是这样,则将 REMOTE_USER 的值放入后端的 Proxy-User 标头中,如下所示:
RewriteRule .* - [E=PROXY_USER:%{LA-U:REMOTE_USER}] # note mod_rewrite's lookahead option
RequestHeader set Proxy-User %{PROXY_USER}e
Run Code Online (Sandbox Code Playgroud)
这是发生的事情:
现在在后端,您可以提取该标头值并像这样设置 REMOTE_USER:
RewriteCond %{HTTP:Proxy-user} ^(.*)$
RewriteRule .* - [E=REMOTE_USER:%1]
Run Code Online (Sandbox Code Playgroud)
这是发生的事情:
归档时间: |
|
查看次数: |
24039 次 |
最近记录: |