在不同的端口上部署不同的应用

时间:2014-05-02 11:26:53

标签: java java-ee tomcat jboss

假设我有两个应用程序front-office.war和back-office.war。

我想在一台应用服务器上部署它们。我希望它们可以在不同的端口上访问。然后我可以在防火墙上放置一个过滤器,以确保所有人都可以看到前台办公室,但后台只能在内部看到。

我在Tomcat看到它可能,但它看起来更像是一个黑客。它也可能在Jboss,但它更加黑客。

我的问题是:为什么这种可能性不符合标准?根据标准,我们可以选择应用程序的上下文根(URL),但不能选择端口。为什么他们也没有选择港口的可能性呢?

当然,我可以在两个AS上部署两个应用程序。但由于某些原因:维护,部署的简易性,配置,许可证问题等,我希望它们部署在单个AS上。

我也可以通过URL过滤传入的请求,但对我来说,更容易假设端口过滤已经到位。所以我与防火墙配置无关。

1 个答案:

答案 0 :(得分:0)

如果您使用两个端口,则必须运行两个JBoss实例。例如,您可以在8080和8081中运行两个应用程序。然后您可以阻止8081用于外部用户。(仅适用于内部用户)

如果要在具有相同端口的同一jboss实例中运行它,可以使用基于URL的阻塞机制。

示例如果您在端口8080中部署两个应用程序,那么您可以简单地阻止该URL https://stackoverflow.com/back-office/ *表示外部用户。其他应用 https://stackoverflow.com/front-office/ *将面向所有用户。