Jak mapować domenę podrzędną do aplikacji webowej na Tomcat 6 (w tym root webapp)?

Tester mówi wszystko. Co chcę jest mapowanie każdej sub domeny do webapp jak:

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

Na maszynie localhost byłoby to

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

Najlepiej byłoby użyć portu 80 zamiast 8080, ale to już inna historia. Byłbym szczęśliwy, aby uruchomić go z portu 8080 na początku, tak, że ścieżka na końcu adresu URL znika.

Uwaga, strzałki nie są przekierowaniami, ale co bym wpisał, gdybym zostawił Tomcat tak jak jest.

Znam stronę Tomcat docs http://tomcat.apache.org/tomcat-6.0-doc/virtual-hosting-howto.html . czytałem go wiele razy, ale nie poczyniłem większych postępów. Edytowałem etc / hosts aby dodać 127.0.0.1 bbstats.localhost. Dodałem

<Host name="bbstats.localhost" appBase="webapps/bbstats"
      unpackWARs="true" autoDeploy="true"
      xmlValidation="false" xmlNamespaceAware="false">
</Host>
Na serwer Tomcat.xml w katalogu conf. Kontekst mojej aplikacji webapp.XML to:
<Context path="/bbstats" docBase="bbstats" debug="5" reloadable="true" crossContext="true"> 
</Context>

Uruchom Ponownie Tomcat. Redploy via Ant. Przy wejściu

Http://bbstats.localhost:8080/

W przeglądarce, dostaję pusty ekran.

Podczas korzystania z appBase= " webapps" zamiast appBase= "webapps / bbstats", dostaję się do aplikacji root Tomcat. To drugie zachowanie jest trochę oczekiwane. Ale jak zrobić bbstats.localhost: 8080 przejdź do webapp bbstats bez końcowego / bbstats w adresie URL?

Author: JoseK, 2010-09-14

1 answers

Czy możesz spróbować zagnieżdżać każdą aplikację webową jako root webapp wewnątrz {[1] } in server.xml podając path="". Sam tego nie próbowałem.

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

<Host name="tomcatstuff.localhost" appBase="webapps">
    <Context path="" docBase="/tomcatstuff/"/>
</Host>
 28
Author: JoseK,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-16 16:24:24