4

我目前有一个在 ROOT 下运行的 tomcat servlet 1:

api1.myhost.com:8080/

我正在使用 mod_proxy 并将所有请求从 api1.myhost.com 转发到此实例。这是从今天开始工作的。

我现在安装了第二个 servlet 2,它在同一个 tomcat 实例(相同的 IP 地址)下运行:

www.myhost.com:8080/servlet2

我希望对新 URL api2 的所有请求都转到第二个 servlet,这样:

api2 .myhost.com

现在被转发到第二个 servlet 实例。

我创建了一个 A 记录,这样 api2.myhost.com 指向我的服务器 IP。你如何让 api2.myhost.com 转发到 www.myhost.com:8080/servlet2 ?

4

1 回答 1

3

您需要使两个 VirtualHost 指向第一个 webapp,另一个指向第二个。

<VirtualHost *:80>
    ServerName api1.myhost.com
    ProxyPass / http://api1.myhost.com:8080/
    ProxyPassReverse / http://api1.myhost.com:8080/
</VirtualHost>

<VirtualHost *:80>
        ServerName api2.myhost.com
        ProxyPass / http://www.myhost.com:8080/servlet2
        ProxyPassReverse / http://www.myhost.com:8080/servlet2
</VirtualHost>

请注意,由于 tomcat 上的路径与 apache 上的路径不同,因此您需要在应用程序中使用相对 URL。

于 2009-03-20T06:53:06.833 回答