使Tomcat 9忽略Http Basic信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使Tomcat 9忽略Http Basic信息相关的知识,希望对你有一定的参考价值。

我有一个IIS + Tomcat的设置(在它们之间使用Tomcat连接器)。当本地访问时,tomcat站点完全不受保护(http://localhost:8080),但IIS需要基本身份验证。设置工作正常,但Tomcat看到http基本授权标头时似乎感到困惑。

一个简单的例子:

我想要实现的是IIS应该处理安全性,Tomcat应该忽略将从IIS传递到Tomcat的Authorization头。有什么想法我能做到吗?

答案

好的,现在我有一个完全可行的解决方案,其中IIS处理所有身份验证。 IIS中的“根”站点不受保护,但通过连接器发送到Tomcat的所有内容都需要身份验证。您需要做的就是保护在Tomcat连接器设置期间创建的虚拟jakarta目录,例如:

  <location path="jakarta">
    <system.web>
      <authorization>
        <deny users="?" /> <!-- deny anonymous access -->
      </authorization>
    </system.web>
  </location>

如果要根据IIS设置的主体在Tomcat中执行授权,请查看Tomcats server.xml中Connector元素上的tomcatAuthentication和tomcatAuthorization属性,例如:

以上是关于使Tomcat 9忽略Http Basic信息的主要内容,如果未能解决你的问题,请参考以下文章

使Tomcat忽略WEB-INF/LIB中的Servlet

9.5 异常处理规则

在 Playframework 中忽略 withRequestTimeout

remote: HTTP Basic: Access denied fatal: Authentication failed for

tomcat 自动部署代码

git报错 - remote: HTTP Basic: Access denied