Если вы используете прокси-сервер (Apache httpd), то Tomcat не заботится о том, как выглядит ваша конфигурация: вы можете обслуживать все webapps на одном и том же имени хоста (или именах хостов), если хотите. В этом случае настройте httpd для нескольких VirtualHosts, а затем нарисуйте все пространство URL, которое вы хотите на Tomcat.
Если, однако, вы хотите, чтобы отделить WebApps так, что (скажем) один доступен на www.0signals.com
и другой один доступен на uploads.0signals.com
(но не оба), то вам придется создать более одного <Host>
в Tomcat-х server.xml
так:
<Host name="localhost" appbase="webapps">
...
</Host>
<Host name="uploads.0signals.com" appbase="uploads">
...
</Host>
я оставил по умолчанию «локальный» <Host>
в там без специально идентификации его как www.0signals.com
, потому что она должна быть по умолчанию <Host>
и получить все, что не соответствует ни одному из других хостов, определенных.
Значения appbase
относятся к Tomcat's CATALINA_BASE
, который по существу является родительским каталогом везде, где существующий каталог webapps
был. Если вы хотите полностью квалифицировать appbase
, вы можете это сделать.
После того, как у вас есть ваши ROOT
каталоги (или ROOT.war
файлы) в webapps
и uploads
каталогов соответственно, вы должны быть хорошо идти. Использование одного и того же IP-адреса для обоих имен хостов не должно быть проблемой, если вы не хотите настраивать SSL, и в этом случае у вас могут возникнуть трудности с сертификатом SSL, который соответствует только одному домену. Есть способы обойти это, но они не по теме для вашего вопроса.
Update О, еще одна вещь: нет особых причин использовать Apache HTTPD в этом случае. Вам нужно, чтобы eatj
использовать httpd out front? Вышеприведенная конфигурация будет работать отлично, без httpd в середине. Если вы намерены проксировать весь трафик на Tomcat, тогда нет причин устанавливать Apache httpd вообще.
Обновление 2012-06-29 Пару вещей:
Ваш DNS не ваша проблема (по крайней мере, не сейчас):
$ хозяина www.0signals. ком www.0signals.com имеет адрес 69.46.75.150 $ хозяина uploads.0signals.com uploads.0signals.com имеет решения 69.46.75.150
При обращении в каждом из www.0signals.com
и uploads.0signals.com
, я получаю ответы от двух разных серверов: www.0signals.com
реагирует с Server
заголовком Apache -Coyote/1.1
(это Tomcat), а другие отвечает с Apache/2.0.63
(это Apache HTTPD). Если вы используете Apache HTTPD для обработки всех запросов, то вам не хватает какой-то JkMount
(если вы используете mod_jk) или ProxyPass
/ProxyPassReverse
(если вы используете mod_proxy_ *) в вашем VirtualHost
для uploads.0signals.com
. Помните, что ни mod_jk, ни mod_proxy_ * не будут копировать ваши директивы из одного VirtualHost в другой: вы должны сделать это вручную.
Лучше всего подходит для http://serverfault.com? – jweyrich