我有一个应用程序,其中有几个 war 文件,全部部署在同一个 tomcat 服务器上。我需要仅针对一个战争上下文强制客户端身份验证,并且仅针对特定 URL。
我在网上阅读了很多内容并在这里阅读了类似的问题,但我得出的结论与我需要的解决方案不匹配:
- 定义 2 个具有不同端口的连接器(一个启用了 clientAuth,一个没有启用)并使用相关端口访问特定 URL ==> 这个解决方案不好,因为如果黑客尝试使用另一个端口访问此 URL,他就可以成功
- 在 web.xml 中定义传输保证(例如在 Tomcat 中为每个服务启用相互 SSL) ==> 这也不好,因为我不想在某个领域定义用户,我只想服务器请求客户端证书并验证它是否可信且有效。
有没有办法在不定义用户的情况下使用选项 2?或者也许还有第三种选择?
提前致谢!
您无法在纯 Tomcat 中执行此操作。最好的解决方案是在它前面放置一个 Apache HTTP,它会终止 SSL 连接,并且您可以在其中将 SSL 配置为您喜欢的内容,一直到单个目录的级别。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)