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

Как вы сопоставляете субдомен с webapp на Tomcat 6 (включая root webapp)?

тема говорит все. Я хочу отобразить каждый дополнительный домен в webapp, например:

http://root.domain.com:8080 -> http://domain.com:8080/
http://manager.domain.com:8080 -> http://domain.com:8080/manager
http://abc.domain.com:8080 -> http://domain.com:8080/abc
http://def.domain.com:8080 -> http://domain.com:8080/def

на машине с локальным хостом это будет

http://root.localhost:8080 -> http://localhost:8080/
http://manager.localhost:8080 -> http://localhost:8080/manager
http://abc.localhost:8080 -> http://localhost:8080/abc
http://def.localhost:8080 -> http://localhost:8080/def

В идеале, я бы хотел использовать порт 80 вместо 8080, но это другая история. Я был бы рад получить его с портом 8080, так что путь в конце URL-адреса исчезнет.

Заметьте, стрелки не перенаправляются, а то, что я бы ввел, если бы я оставил Tomcat как есть.

Я знаю страницу документов Tomcat http://tomcat.apache.org/tomcat-6.0-doc/virtual-hosting-howto.html. Я читал его много раз, но не добился больших успехов. Я отредактировал etc/hosts, чтобы добавить 127.0.0.1 bbstats.localhost. Затем я добавил

<Host name="bbstats.localhost" appBase="webapps/bbstats"
      unpackWARs="true" autoDeploy="true"
      xmlValidation="false" xmlNamespaceAware="false">
</Host>

в Tomcat server.xml в conf. Мой webapp context.xml:

<Context path="/bbstats" docBase="bbstats" debug="5" reloadable="true" crossContext="true"> 
</Context>

Перезапустить Tomcat. Перезагрузка с помощью Ant. При вводе

http://bbstats.localhost:8080/

в браузере, я получаю пустой экран.

При использовании appBase = "webapps" вместо appBase = "webapps/bbstats", я получаю приложение Tomcat root. Последнее поведение является ожидаемым. Но как мне сделать bbstats.localhost: 8080 перейти к bbstats webapp без привязки /bbstats в URL?

4b9b3361

Ответ 1

Можете ли вы попробовать вложить каждое веб-приложение в качестве корневого webapp в <Host> в server.xml, указав path="". Я сам этого не делал.

<Host name="bbstats.localhost" appBase="webapps">
    <Context path="" docBase="/bbstats/"/>
</Host>

<Host name="tomcatstuff.localhost" appBase="webapps">
    <Context path="" docBase="/tomcatstuff/"/>
</Host>