Apache 删除授权标头

Apache 删除授权标头

在我的设置中,Apache 充当反向代理。在端口 8081 上运行的应用程序服务器需要有效的Authorization标头。标头由客户端应用程序设置。Apache 似乎删除了此标头。它无法到达端口 8081 上的服务器。

<VirtualHost mydomain.com:443>
    ServerName mydomain.com
    ServerAlias www.mydomain.com

    <Proxy *>
            Order deny,allow
            Allow from all
    </Proxy>

    SSLEngine On
    SSLCertificateFile /etc/apache2/ssl/apache.pem

    ProxyPreserveHost On
    ProxyRequests Off
    ProxyPass / http://mydomain.com:8081/
    ProxyPassReverse / http://mydomain.com:8081/
</VirtualHost>

为了验证端口 8081 上的服务器是否正常工作,我添加了RequestHeader set Authorization "Basic XZY"该配置。在这种情况下,端口 8081 上的服务器可以正确处理标头。

我还直接从客户端连接到端口 8081 上的服务器,以确保客户端确实设置了正确的标头。这也很好用。

答案1

来自mod_proxy_http 文档

代理链认证

如果代理需要身份验证,它将读取并使用客户端发送的代理身份验证凭据。使用 proxy-chain-auth,它还会将凭据转发给链中的下一个代理。如果您有共享身份验证信息的代理链,这可能是必要的。安全警告:除非您知道需要它,否则请不要设置它,因为它会转发敏感信息!

这是你想要的?

答案2

最终发现原因在于客户端实现存在错误。

相关内容