Question

I currently have a tomcat servlet 1 running under the ROOT:

api1.myhost.com:8080/

I'm using mod_proxy and simply forwarding all requests from api1.myhost.com to this instance. This is working as of today.

I now have installed a second servlet 2 which runs under the same instance of tomcat (same IP address):

www.myhost.com:8080/servlet2

I want all requests to a new URL api2 to go to that second servlet such that:

api2.myhost.com

now gets forwarded to the second servlet instance.

I've created an A record such that api2.myhost.com points to my server IP. How do you make api2.myhost.com forward to www.myhost.com:8080/servlet2 ?

Was it helpful?

Solution

You need to make two VirtualHost's with on pointing to the first webapp, the other to the second.

<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>

Note that since the path will be different on tomcat than on apache, you will need to use relative URLs in your application.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top