将 apache 请求(端口 80)转发到 Tomcat(端口 8080)?

Ste*_*all 8 tomcat6 apache-2.2

我想通过常规网站 URL 运行 Tomcat 应用程序,例如www.xyz.com. 我希望此域的根目录充当 Web 应用程序的基本目录,因此每个请求都www.xyz.com/a/b/c变为www.abc.com:8080/myApp/a/b/c. 理想情况下,我将能够透明地执行此操作,并且仅适用于某些 Web 应用程序。

www.abc.com:8080 仍应响应请求。

我需要做什么才能实现这一点?

ptm*_*man 14

ProxyPass        / http://www.abc.com:8080/myApp/
ProxyPassReverse / http://www.abc.com:8080/myApp/
Run Code Online (Sandbox Code Playgroud)

阅读有关mod_proxy 的更多信息


Mar*_*mos 3

您可以在 Apache 中使用 mod_rewrite 来执行此操作。在 Apache 中加载 mod_rewrite 并在 www.xyz.com 虚拟主机中添加以下规则:

RewriteRule ^/(.*) http://www.abc.com:8080/myApp/$1

这应该会起作用。

有关 mod_rewrite 的更多信息请参见此处

编辑:为了在浏览器中保留站点名称,也可以通过在 RewriteRule 末尾附加 [P] 来使用 mod_proxy:

RewriteRule ^/(.*) http://www.abc.com:8080/myApp/$1 [P]

这将迫使 Apache 充当该 URL 的代理,而不仅仅是重写 URL。