Проблема с получением Apache по умолчанию для конкретного JKMount с помощью mod_jk - PullRequest
2 голосов
/ 17 августа 2010

У меня есть экземпляр apache, выходящий на 4 веб-приложения tomcat, назовем их app1, app2, app3, app4.Я использую mod_jk, чтобы действовать как соединитель, и я настроил apache с записями JKMount для каждого, и я могу счастливо нажать:

сервер: 8080 / app1

сервер: 8080 / app2

сервер: 8080 / app3

сервер: 8080 / app4

Но на самом деле я хочу, чтобы весь трафик для app1, app2 и app3 был адресован, как указано выше,но с app4 (только), адресованным:

сервер: 8080 /

Я был уверен, что это будет легко, но я не могу понять это.Есть идеи?

Гордон

Ответы [ 2 ]

4 голосов
/ 17 августа 2010

Если я правильно понимаю, вы хотите установить app4 в качестве веб-приложения по умолчанию - чтобы оно было доступно непосредственно как сервер: 8080 /

все, что вам нужно сделать, это установить путь как "" в элементе Context в <Host> в server.xml в Tomcat.,Это должно работать

<Context docBase="/var/lib/tomcat6/webapps/app4/" path="" reloadable="true>

Из документов Tomcat:

Если вы укажете путь к контексту для пустой строки (""), вы определяете веб-приложение по умолчанию для этогоХост, который будет обрабатывать все запросы, не назначенные другим контекстам

Убедитесь, что вы перезапустите Apache и Tomcat один раз, чтобы активировать изменения.

Примечание: из документов Tomcat 6 http://tomcat.apache.org/tomcat-6.0-doc/config/context.html#Introduction рекомендуется не помещать это в server.xml, так как вам нужно перезапустить Tomcat для любых изменений.

Веб-приложение по умолчанию может быть определено с использованием файла с именем ROOT.xml

но я сам не пробовал этот вариант.

1 голос
/ 14 января 2012

Начиная с Tomcat 5.5 (я не знаю о более ранних версиях), вы можете переименовать app4 в ROOT.war , если это WAR-файл, или ROOT / , если это каталог. По логике вы должны будете перезаписать любой существующий ROOT.war или ROOT /, если он есть.

...