我有两个Web应用程序,我希望在一个tomcat实例下运行,但是在不同的端口上连接,例如第一次战争 - 在8080以下,第二次--8090。是否可以只使用两个server.xml中的连接器?
因此要连接到第一个应用 - 我会使用地址http://localhost:8080/myFirstApp,然后使用地址http://localhost:8090/mySecondApp。 如果不在localhost上运行两个tomcat内容,我怎么能这样做呢?
答案 0 :(得分:3)
好吧,我认为您可以使用不同的端口声明两个连接器,它们将正常运行。但您无法通过配置限制对应用的访问。也就是说 - 两个端口都可以访问这两个应用程序。如果您需要限制,请创建一个检查并返回404的Filter
。
答案 1 :(得分:2)
运行两个连接器没有问题。
但是,如果您希望每个应用程序都可以在不同的端口上访问,并且只在那里(不在两个/所有端口上),请复制conf / server.xml中的服务部分,更改端口和名称,以便不会发生冲突。
您必须为两个服务指定不同的webapps目录,并将每个Web应用程序放在不同的目录中。
答案 2 :(得分:2)
http://www.mulesoft.com/tomcat-connector
现在让我们假设我们要更改此配置,以便这样做 而不是为每个收到的请求接收两个响应 无论是连接器,我们都希望每个连接器从其传递请求 仅端口到一个特定的Web应用程序。为达到这个 功能,我们只需要重新排列元素层次结构 它类似于这样的东西:
<Server>
<Service name="Catalina">
<Connector port="8443"/>
<Engine>
<Host name="yourhostname">
<Context path="/webapp1"/>
</Host>
</Engine>
</Service>
<Service name="Catalina8444">
<Connector port="8444"/>
<Engine>
<Host name="yourhostname">
<Context path="/webapp2"/>
</Host>
</Engine>
</Service>
</Server>