使Tomcat 9忽略Http Basic信息
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使Tomcat 9忽略Http Basic信息相关的知识,希望对你有一定的参考价值。
我有一个IIS + Tomcat的设置(在它们之间使用Tomcat连接器)。当本地访问时,tomcat站点完全不受保护(http://localhost:8080),但IIS需要基本身份验证。设置工作正常,但Tomcat看到http基本授权标头时似乎感到困惑。
一个简单的例子:
- 访问http://localhost:8080/mysite =>好的
- 访问http://localhost:8080/mysite(使用HTTP Authorization标头:basic ....)=> 401
我想要实现的是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信息的主要内容,如果未能解决你的问题,请参考以下文章
在 Playframework 中忽略 withRequestTimeout
remote: HTTP Basic: Access denied fatal: Authentication failed for