tomcat - 如何让httpd转发到不同url的多个tomcat,包括/?

标签 tomcat apache mod-jk

好的

所以我在几个 AJP 端口上设置了多个 tomcat 实例,我还在端口 8090 上监听 Apache httpd(因为我现在有另一个应用程序已经在使用 8080)。

我已经使用 Jk Mount 和以下 vhosts 配置成功地将 mydomain.com:8090/demo 和 mydomain.com:8090/preprod 等 url 映射到它们各自的 tomcat 实例;

<VirtualHost *:8090>
    JkMount /preprod* preprod
    JkMount /demo* demo
</VirtualHost>

但我也希望“根”地址映射到另一个 tomcat 实例,这将成为实时/生产,即我希望 mydomain.com:8090/映射第三个 tomcat 实例。

目前,如果我只是在上面的配置中添加一行,什么也不会发生或改变;

JkMount /* rootwar

如果我浏览到 mydomain.com:8090,我只会看到同样无聊的 apache httpd 登录页面,让我知道它正在运行(即 httpd/htdocs 中的 index.html)

是否可以使用 JkMount 将“根”地址内容重定向到 tomcat 实例?

我可以看到像/* 这样的规则也会匹配像 mydomain.com/preprod 这样的 URL,但我希望按顺序应用规则,所以如果/* 出现在最后,它实际上将是一个“如果它不是一个其他环境,然后直接到 root/production"

为了清楚起见,我正在尝试设置以下内容;

mydomain.com:8090/preprod --> myApp running in tomcat1
mydomain.com:8090/demo    --> myApp running in tomcat2
mydomain.com:8090         --> myApp running in tomcat3

最佳答案

好吧,事实证明我对 JkMount 东西的跌落行为是正确的,因此是这样的配置;

<VirtualHost *:8090>
    JkMount /preprod* preprod
    JkMount /demo* demo
    JKMount /* root
</VirtualHost>

效果很好,其中带有/preprod 的 url 到达 tomcat1,/demo 进入 tomcat2,其他所有内容进入 tomcat3 以获得 root。所以 JkMount/* root 行显然是最后一个尝试的规则,并且只有在没有其他规则与 url 匹配的情况下才“捕获所有”(因为它的/*)。

很好。

关于tomcat - 如何让httpd转发到不同url的多个tomcat,包括/?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5271191/

相关文章:

apache - connection_pool_size 和tp-processor 之间的关系?

Java tomcat 应用程序显示许多客户端连接到 MySql DB

Java Web 错误 : Error : running Tomcat 7. 0:找不到 jsp 内置 servlet 的配置

java - Tomcat、mod_jk、Plesk 和 SSL 设置问题

apache - 什么是 CGI,什么是 CGI 脚本?

HTML 中的 PHP 代码,不带文件扩展名

java - jboss中JSP部署问题

java - NoSuchFieldError : QUALIFIED when integrating web service in Tomcat project 错误

java - Web 应用程序项目中的内部服务器错误

security - 有没有办法强制apache返回404而不是403?