2016-06-27 56 views
2

我有一个Apache服务器设置作为一些后端服务器前的反向代理。其中一台后端服务器需要基本认证,但Apache似乎从请求中删除了Authorization标头。Apache ProxyPass删除授权标头

我是否必须配置一些特殊的东西才能使Apache将Authorization标头传递给后端服务器?

我的Apache配置是非常基本的。我只加了一些代理的指令,如:

ProxyRequests Off 
ProxyPass /backend-server https://backend.server 

SSLProxyEngine on 

回答

0

事实证明,这不是Apache的时候删掉了Authorization头,但我们的网络中的一些其他防火墙组件。

我们更改了防火墙中的设置,现在上面的ProxyPass指令正常工作!

1

您必须设置proxy-chain-auth环境变量:

如果代理服务器需要身份验证,它会读取并消耗由发送的 代理身份验证凭据客户。通过 proxy-chain-auth,它也会将凭证转发给链中下一个 代理。如果您有一个共享认证信息的代理链,则这可能是必需的。安全警告: 没有设置,除非你知道你需要它,因为它转发敏感的 信息!

http://httpd.apache.org/docs/2.2/mod/mod_proxy_http.html

<Location /> 
    AuthType basic 
    SetEnv proxy-chain-auth 
</Location> 
+0

感谢您的回复。原来,它不是代理链验证,而是我们网络中的其他组件。 –