使用Apache / mod_proxy将URL路径重定向到tomcat servlet

时间:2009-03-19 22:20:07

标签: apache tomcat mod-proxy

我目前在ROOT下运行了一个tomcat servlet:

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?

1 个答案:

答案 0 :(得分: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。