在Apache反向代理配置中将URL从Tomcat重定向到Jetty

时间:2019-05-11 22:25:50

标签: windows apache networking jetty tomcat8

我有一个Apache 2.4反向代理配置,在HTTPD.CONF文件中带有以下代码,并已加载了所有适当的模块:

<VirtualHost *:80>

  <Proxy balancer://testcluster>
    BalancerMember http://localhost:8080 route=tomcat1
    BalancerMember http://localhost:8081 route=tomcat2
    BalancerMember http://localhost:10124 route=jetty1
    BalancerMember http://localhost:10224 route=jetty2
    ProxySet lbmethod=bytraffic
    ProxySet stickysession=JSESSIONID
  </Proxy>

  ProxyPass / balancer://testcluster/
  ProxyPassReverse / balancer://testcluster/

</VirtualHost>

localhost:80808081是Tomcat8服务器,而localhost:1012410224是Jetty服务器(Embedded-Jetty)。另外,我在Windows HOSTS文件中将 localhost / 127.0.0.1 命名为 mydomain.com 。因此,当我在不同的浏览器中键入 localhost mydomain.com 时,将得到预期的不同的Tomcat和Jetty服务器实例。

localhost:8081/mee/portal/中有一些应用程序文件夹,例如/mee/pws/webapps,并且 portal pws 包含JSP页面。 localhost:10224/mee/abc_lmn//mee/abc_xyz/之类的文件夹中还包含一些Java servlet。
门户有一个索引页面,我可以通过输入以下内容轻松访问:

mydomain.com/mee/portal/index.jsp

,此页面包含指向端口10224上Jetty服务器中页面之一的链接:

mydomain.com/mee/abc_xyz/change.jsp

但是当我单击链接时,请求永远不会转发到端口10224的Jetty,而Tomcat却说该页面不存在。我知道我的Apache配置不够智能,无法告诉Tomcat将此类请求转发给Jetty,并且我不希望将链接重命名为localhost:10224/mee/abc_xyz/change.jsp之类的东西(假设这可以解决问题)。
如何重新配置​​代码,以便将这些请求转发给Jetty? (尽管与端口808010124上的其他两个Tomcat和Jetty服务器没有冲突)。
除此之外,更好的是,如何告诉Apache转发到mydomain/mee/abc_(*)的任何请求以直接转发到10224的Jetty服务器? [链接中的(*)如前所述是lmnxyz

提前谢谢!
使用Windows Server 2016

0 个答案:

没有答案