2009-03-19 3 views
3

Я в настоящее время кот сервлет 1 работает под ROOT:Перенаправление URL путь направить TOMCAT сервлета с помощью Apache/mod_proxy

api1.myhost.com:8080/

Я использую mod_proxy и просто пересылая все запросы от api1.myhost.com к этому экземпляру. Это работает на сегодняшний день.

я теперь установил второй сервлет 2, который работает под управлением одного экземпляра кота (тот же IP-адреса):

www.myhost.com:8080/servlet2

Я хочу все запросы на новый URL API2 пойти на этот второй сервлет, что:

API2 .myhost.com

теперь получает направляется ко второму экземпляру сервлета.

Я создал запись A, так что api2.myhost.com указывает на мой IP-адрес сервера. Как вы делаете api2.myhost.com на www.myhost.com:8080/servlet2?

ответ

3

Вам нужно сделать два виртуальных хоста, указав на первый 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> 

Обратите внимание, что поскольку путь будет отличаться от кота, чем на Apache, вам нужно будет использовать относительные URL-адрес в вашем приложении.

+0

awesome это работало с одной незначительной коррекцией. Я должен был также иметь следующую строку: NameVirtualHost *: 80 – Ish

+0

В какой файл мы добавляем эти записи virtualhost? – frosty

+0

Любой файл, который включен в основной файл conf apache. Для каждого виртуального хоста часто имеется отдельный файл. –

Смежные вопросы