我已成功将 mod_proxy_ajp 从我的 httpd 配置到 Tomcat,其中 httpd 执行 SSL 和基本身份验证。我需要我的 tomcat 应用程序中的远程用户,因此我认为使用 AJP 会填充标头,这样 HttpServletRequest.getRemoteUser() 就会给我用户名,但它是“null”。但是 HttpServletRequest.getRemoteHost() 填充正确。
我需要做什么才能从我的 tomcat servlet 中的 httpd 基本身份验证中获取远程用户?
答案1
在 StackOverflow 上找到了答案...通过AJP将REMOTE_USER转发到tomcat
底线是您必须添加tomcatAuthentication="false"
到您的 AJP 连接器。
默认...
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
...变成...
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" tomcatAuthentication="false" />