Следуя подсказкам, данным в ответе Нестора Уркизы, мне удалось решить проблему, определив дополнительный хост в файле tomcat server.xml, потому что, как уже было сказано, на запрос j_security_check отвечает tomcat с инструкцией пересылки в браузер, которая неизбежно содержит имя контекстатак что пользователи, пытающиеся войти, получают 408 ошибок.Таким образом, реальное проникновение в директиву Apache VirtualHost JkMount /* worker1
достижимо путем назначения целевого контекста ROOT
one.
Apache httpd.conf [и / или включенного * .conf] файла:
<!-- the subdomain -->
<VirtualHost *:80>
ServerName appWelcome.example.org
ServerAlias www.appWelcome.example.org
JKMount /* worker1
</VirtualHost>
<!-- with mod_jk set up -->
LoadModule jk_module modules/mod_jk.so
JWorkersFile /etc/apache2/workers.properties
JkShmFile /var/log/apache2/mod_jk.shm
Таким образом, чтобы сопоставить весь запрос, сделанный с субдоменом http://appWelcome.example.org/
, непосредственно с контекстом tomcat in-charge / appWelcome, контекст appWelcome должен быть адресуемым с запросом на http://appWelcome.example.org:8080/
.Файл tomcat server.xml будет носить отдельный Host
для приложения, которое вы хотите предоставить:.
<Server ...>
<Service>
<Engine defaultHost="localhost" ...>
<Host name="appWelcome.example.org" appBase="appWelcomeBase" ... >
<Valve ... />
</Host>
<Host name="localhost" appBase="webapps" ...>
<!-- this Host is typically shipped with manager, host-manager, docs,
sample, examples and a default ROOT context that shows tomcat default home. -->
<Valve ... />
</Host>
</Engine>
</Service>
</Server>
Обратите внимание, что разрешения (и контекст selinux, если он включен) должны быть скорректированы, чтобы имитироватьпо умолчанию Host
следующие:
$CATALINA_HOME/conf/Catalina/app.example.org
как $CATALINA_HOME/conf/Catalina/localhost
$CATALINA_HOME/appWelcomeBase
как $CATALINA_HOME/webapps
Откуда это все, что осталось сделатьэто проблема переименования и перемещения веб-архива appWelcome.war
для его автоматического развертывания в созданном appBase
(заменив $ CATALINA_HOME его значением, например / var / www / tomcat7):
# mv $CATALINA_HOME/webapps/appWelcome.war $CATALINA_HOME/appWelcomeBase/ROOT.war
Вуаля!