Apache ProxyPass 删除授权 header
Apache ProxyPass removes Authorization header
我在一些后端服务器前设置了一个 Apache 服务器作为反向代理。其中一台后端服务器需要基本身份验证,但 Apache 似乎以某种方式从请求中删除了授权 header。
我是否必须配置一些特殊的东西才能使 Apache 将授权 header 传递给后端服务器?
我的 Apache 配置非常基础。我只添加了一些代理指令,例如:
ProxyRequests Off
ProxyPass /backend-server https://backend.server
SSLProxyEngine on
您必须设置 proxy-chain-auth
环境变量:
If the proxy requires authentication, it will read and consume the
proxy authentication credentials sent by the client. With
proxy-chain-auth it will also forward the credentials to the next
proxy in the chain. This may be necessary if you have a chain of
proxies that share authentication information. Security Warning: Do
not set this unless you know you need it, as it forwards sensitive
information!
http://httpd.apache.org/docs/2.2/mod/mod_proxy_http.html
<Location />
AuthType basic
SetEnv proxy-chain-auth
</Location>
事实证明,不是 Apache 删除了授权 header,而是我们网络中的其他一些防火墙组件。
我们更改了防火墙中的设置,现在上面的 ProxyPass 指令工作正常!
我在一些后端服务器前设置了一个 Apache 服务器作为反向代理。其中一台后端服务器需要基本身份验证,但 Apache 似乎以某种方式从请求中删除了授权 header。
我是否必须配置一些特殊的东西才能使 Apache 将授权 header 传递给后端服务器?
我的 Apache 配置非常基础。我只添加了一些代理指令,例如:
ProxyRequests Off
ProxyPass /backend-server https://backend.server
SSLProxyEngine on
您必须设置 proxy-chain-auth
环境变量:
If the proxy requires authentication, it will read and consume the proxy authentication credentials sent by the client. With proxy-chain-auth it will also forward the credentials to the next proxy in the chain. This may be necessary if you have a chain of proxies that share authentication information. Security Warning: Do not set this unless you know you need it, as it forwards sensitive information!
http://httpd.apache.org/docs/2.2/mod/mod_proxy_http.html
<Location />
AuthType basic
SetEnv proxy-chain-auth
</Location>
事实证明,不是 Apache 删除了授权 header,而是我们网络中的其他一些防火墙组件。
我们更改了防火墙中的设置,现在上面的 ProxyPass 指令工作正常!