我有两个 Web 应用程序,我想在一个 tomcat 实例下运行,但在不同的端口上连接,例如第一次战争 - 在 8080 下,第二次 - 8090。是否可以只使用两个连接器服务器.xml?
所以要连接到第一个应用程序 - 我将使用地址http://localhost:8080/myFirstApp和第二个 - http://localhost:8090/mySecondApp。如果不在本地主机上运行两个 tomcat 实例,我该如何做到这一点?
我有两个 Web 应用程序,我想在一个 tomcat 实例下运行,但在不同的端口上连接,例如第一次战争 - 在 8080 下,第二次 - 8090。是否可以只使用两个连接器服务器.xml?
所以要连接到第一个应用程序 - 我将使用地址http://localhost:8080/myFirstApp和第二个 - http://localhost:8090/mySecondApp。如果不在本地主机上运行两个 tomcat 实例,我该如何做到这一点?
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>
运行两个连接器没有问题。
但是,如果您想让每个应用程序在不同的端口上访问,并且只能在不同的端口上访问(而不是在两个/所有端口上),请复制 conf/server.xml 中的服务部分,更改端口和名称,以免发生冲突。
您必须为这两种服务指定不同的 webapps 目录,并将每个 webapps 放在不同的目录中。
好吧,我认为您可以声明两个具有不同端口的连接器,它们将正常运行。但是您不能通过配置限制对应用程序的访问。也就是说 - 这两个应用程序都可以在两个端口上访问。如果您需要限制它,请进行Filter
检查并返回 404。