0

嗨,我的新问题如下:我有一个在 Tomcat 6.0.x 上运行的 Web 应用程序,它位于 Apache HTTPD 反向代理之后,它后面还有其他机器应该与某个 Web 服务(http:// bla.com/restricted / stuff /...) 而用户(从反向代理的 Internet 端连接)和其他机器不应该能够调用这些方法,最好甚至不知道它们存在。

  1. 好吧,我知道我可以使用 RemoteAddrFilter 并过滤 IP,尽管它可以欺骗,但它可能“足够接近”,但不幸的是我被 Tomcat 的第 6 版所困。
  2. 如果我有完全的自由,我可以在不同的端口上设置这个服务,然后只使用 iptables 来限制它,但不幸的是它必须是相同的 Tomcat 实例和相同的 Web 应用程序,而且我不熟悉将连接器限制为某些的方法Web 应用程序中的区域。
  3. 该应用程序管理它自己的安全系统,由于“历史”原因,它不能用于验证“调用方机器”,即说制定几个安全约束很好,但这里的规范说一个人只能有一个 login-config 元素,所以即使我写受限 URL 的不同约束我将无法通过例如要求用户证书(从而识别调用机器)来阻止它,因为我已经有一个登录配置。

这更像是一个“如何做到最好”的问题,而不是“我不知道该怎么做”,因为有很多骇人听闻的方法来设置它,但我们现在不想滑向黑暗的一面我们?

我必须说我确实尝试过研究这个主题,但我没有找到任何明显的解决方案,但是如果我错过了一些优雅而明显的东西,我会更乐意听到它(也非常欢迎非平凡的解决方案:)),所以感谢您的任何想法。

4

1 回答 1

0

需要调用“受限”服务的机器是否可以通过直接与http://example.internal:8080/restricted上的 tomcat 服务对话而不是使用反向代理来这样做?如果是这样,那么最简单的方法是设置代理,使其根本不通过受限制的 URI,这将使外部调用者无法访问它们。

于 2012-07-05T07:50:02.600 回答