我目前在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?
答案 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。