Направьте корневой домен в контекст и субдомен в другой контекст - PullRequest
2 голосов
/ 13 июля 2010

У меня есть ситуация, когда я хочу направить свой корневой домен, например www.abc.com, в контекст в tomcat и * .abc.com в другой контекст в tomcat.

В настоящее время www.abc.com abc.com и * .abc.com все указывают на мой ROOT-текст в tomcat, но я хочу, чтобы

www.abc.com и abc.com указывали на ROOT, а

*. abc.com накакой-то другой контекст в tomcat.

1 Ответ

0 голосов
/ 20 июня 2011

Это старый, но поскольку я перехожу сюда с первой страницы Google, он заслуживает ответа.

Полагаю, лучше всего добавить "VirtualHost" в ваши httpd и "Host"в server.xml вашего tomcat для каждого субдомена.Возьмите это как пример «HelloMultiWorld»:

<VirtualHost *:80>
  ServerName abc.com
  ServerAlias www.abc.com sd1.abc.com
  ...
  ProxyPreserveHost true
  ProxyPass / ajp://localhost:8009/
  ProxyPassReverse / ajp://localhost:8009/
  ...
</VirtualHost>

И в файле Tomcat server.xml:

<Engine defaultHost="localhost" ...>
  ...
  <Host name="localhost" appBase="webapps" ...>...</Host>
  <Host name="sd1.abc.com" appBase="webapps-sd1"...>...</Host>
</Engine>

Очевидно, вам нужны «webapps» и «webapps-sd1»папка с собственным ROOT.war.

При такой конфигурации HTTPd будет перенаправлять все запросы abc.com, www.abc.com и sd1.abc.com на Tomcat (используя AJP - вы также можете использовать HTTP /8080).Tomcat получит запрос с HTTP-заголовком «Host: xxx.abc.com» (из-за «ProxyPreserveHost»).При наличии нескольких «Хостов» в server.xml запрос будет перенаправлен в соответствии с заголовком «Хост».Все неопознанные хосты будут перенаправлены на defaultHost.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...