Подтвердить что ты не робот

Tomcat и несколько доменов/приложений

В настоящее время я запускаю одиночный tomcat с одним приложением WAR на порт 80. Доменное имя www.foo.org указано на этом сервере ip.

Какова процедура добавления домена www.bar.org для другого клиента на порт 80?

Спасибо

4b9b3361

Ответ 1

С самого начала у вас есть одна запись "Host" в вашем conf/server.xml для localhost

<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
      <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host>

Теперь вы можете добавить еще записи "Host", например

  <Host name="anotherclient.com"  appBase="anotherclient" unpackWARs="true" autoDeploy="true">

       <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="anotherclient_access_log." suffix=".txt"
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />
  </Host>

где name="anotherclient.com" - новый клиентский домен, а appBase="anotherclient" - его имя корневого каталога веб-приложения (где вы развертываете свою войну); это относится к домашнему директорию tomcat.

Изменения будут приняты после перезапуска tomcat.

Запросы, отправляемые в любые другие домены (не указанные в server.xml), но указывающие на IP-адрес вашего сервера, будут переданы в приложение по умолчанию, оно указано в элементе Engine

<Engine name="Catalina" defaultHost="localhost">

Ответ 2

В своей конфигурации по умолчанию Tomcat принимает запросы на любое имя хоста и отправляет их всем в "localhost" <Host> определенный в conf/server.xml. Если вы этого не изменили, то все, что вам нужно сделать, это убедиться, что у вас есть записи DNS, настроенные для обоих имен хостов, чтобы указать на ваш сервер.

Если вы хотите иметь другой набор webapps для каждого имени хоста, тогда вам нужно будет определить второй <Host> в conf/server.xml и используйте для этого соответствующее имя хоста. (Обратите внимание, что вам всегда нужно иметь хост "по умолчанию", куда идут все запросы, которые не соответствуют ни одному из явно определенных хостов).

Вы можете прочитать документацию для <Host> здесь: http://tomcat.apache.org/tomcat-7.0-doc/config/host.html (Это для Tomcat 7.0.x. Вы не указали свою версию, поэтому я дал вам ссылку на последнюю версию документации).

Ответ 3

Обычно у вас есть tomcat (или другой сервер приложений) на порте, отличном от 80 (например, 8080 или 7001 или что угодно). После этого вы поместите веб-сервер (например, apache http server) на порт 80 и настройте один или несколько соединителей, чтобы указать на другой порт на другом сервере приложений с другим адресом.

Для Apache http + tomcat вы можете взглянуть на эту ссылку:

http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html