嗨,我的新问题如下:我有一个在 Tomcat 6.0.x 上运行的 Web 应用程序,它位于 Apache HTTPD 反向代理之后,它后面还有其他机器应该与某个 Web 服务(http:// bla.com/restricted / stuff /...) 而用户(从反向代理的 Internet 端连接)和其他机器不应该能够调用这些方法,最好甚至不知道它们存在。
- 好吧,我知道我可以使用 RemoteAddrFilter 并过滤 IP,尽管它可以欺骗,但它可能“足够接近”,但不幸的是我被 Tomcat 的第 6 版所困。
- 如果我有完全的自由,我可以在不同的端口上设置这个服务,然后只使用 iptables 来限制它,但不幸的是它必须是相同的 Tomcat 实例和相同的 Web 应用程序,而且我不熟悉将连接器限制为某些的方法Web 应用程序中的区域。
- 该应用程序管理它自己的安全系统,由于“历史”原因,它不能用于验证“调用方机器”,即说制定几个安全约束很好,但这里的规范说一个人只能有一个 login-config 元素,所以即使我写受限 URL 的不同约束我将无法通过例如要求用户证书(从而识别调用机器)来阻止它,因为我已经有一个登录配置。
这更像是一个“如何做到最好”的问题,而不是“我不知道该怎么做”,因为有很多骇人听闻的方法来设置它,但我们现在不想滑向黑暗的一面我们?
我必须说我确实尝试过研究这个主题,但我没有找到任何明显的解决方案,但是如果我错过了一些优雅而明显的东西,我会更乐意听到它(也非常欢迎非平凡的解决方案:)),所以感谢您的任何想法。