如何将用户上下文从 httpd mod_proxy 代理到 tomcat?

如何将用户上下文从 httpd mod_proxy 代理到 tomcat?

我已经使用 SPNEGO 配置了一个 tomcat 实例来执行用户身份验证。当我直接访问 tomcat 端口时,它会导致我的浏览器请求我的用户名和密码,我提供了用户名和密码,浏览器验证正确。

到目前为止,我还没有说服它进行静默 SPNEGO/Kerberos 握手并在不需要输入凭证的情况下对我进行身份验证,但这是另一个问题。:)

我正在使用带有 mod_proxy 的 Apache httpd,以便我可以访问端口 80/443 并从不同端口上的多个 tomcat 实例接收响应。即

ProxyPass /api/v1 http://localhost:18080/api/v1
ProxyPassReverse /api/v1 http://localhost:18080/api/v1

ProxyPass /myapp http://localhost:28080/myapp
ProxyPassReverse /myapp http://localhost:28080/myapp

我遇到的问题是,当我通过 httpd 反向代理访问网站时,没有与浏览器进行握手。相反,我被认证为 httpd 正在运行的帐户。即“www”。

是否有人知道我需要调整什么 mod_proxy(或其他)设置才能让 tomcat 在通过 mod_proxy 时执行用户身份验证?

或者有更好的方法吗?

相关内容