tomcat - 使 Tomcat 9 忽略 Http 基本信息

标签 tomcat iis isapi

我有一个 IIS + Tomcat 设置(在两者之间使用 Tomcat 连接器)。在本地访问时,tomcat 站点完全不 protected (http://localhost:8080),但是 IIS 需要基本身份验证。设置工作正常,只是 Tomcat 在看到 http 基本授权 header 时似乎感到困惑。

一个简单的例子:

我想要实现的是 IIS 应该处理安全性,而 Tomcat 应该忽略将从 IIS 传递到 Tomcat 的授权 header 。有什么想法可以实现吗?

最佳答案

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

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

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

关于tomcat - 使 Tomcat 9 忽略 Http 基本信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49071171/

相关文章:

caching - Tomcat 正在为 JS 和 CSS 文件设置无缓存

java - Mongodb:shard01…写入结果不可用,是由.. sharded连接池引起的:连接失败

JAVA TLS 1.2 降级到 TLS 1.0 有时会报错

asp.net - 工作进程占用高 CPU%

apache - 在 Apache 上调用 GetFilterVersion 到 Tomcat Redirector ISAPI 过滤器时出错 - 32 位 W2K8 SP2 标准

Tomcat 8集群提高性能

Spring Boot 嵌入式 Tomcat 未在 ApplicationListener 中加载外部属性文件

IIS Windows 身份验证怪异

multithreading - 我可以根据 ProcessID 和 ThreadID 创建唯一的文件名吗?

delphi - 在 II7 中, "Application"、 "Module"和 "Handler"之间有什么区别?