Некоторое время назад мы внесли изменения в наше приложение для поддержки множественного контекста root, используя возможности JBoss , определив его в jboss-web.xm l следующим образом:
WebApp / WEB-INF / JBoss-web.xml:
|
1
2
3
4
5
6
7
|
<?xml version="1.0" encoding="UTF-8"?><jboss-web> <context-root>appA</context-root> <session-config> <session-timeout>10</session-timeout> </session-config></jboss-web> |
И определение правила перезаписи на виртуальном сервере одной из подсистем в standalone.xml для поддержки другого корневого контекста контекста следующим образом:
JBoss-EAP / автономный / конфигурации / standalone.xml:
|
1
2
3
4
5
6
7
8
9
|
<subsystem xmlns="urn:jboss:domain:web:2.2" default-virtual-server="default-host" native="false"> <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/> <virtual-server name="default-host" enable-welcome-root="true"> <alias name="localhost"/> <alias name="example.com"/> <rewrite name="rule-1" pattern="^/appB(.*)$" substitution="/appA$1" flags="L"/> <rewrite name="rule-2" pattern="^/appC(.*)$" substitution="/appA$1" flags="L"/> </virtual-server></subsystem> |
Мы были рады пойти на вышеуказанные изменения конфигурации, а сегодня, продвигая ту же конфигурацию на производственные серверы, команда вернулась к нам, что из-за некоторых политик безопасности они не могут включить «root» на уровне «true» в производственной среде, и если мы сделаем это для « ложный » множественный контекст больше не поддерживается.
Затем мы начали искать различные параметры конфигурации , доступные для виртуального сервера, чтобы решить эту проблему, и обнаружили, что нам нужно настроить JBoss с контекстом «/» для поддержки другого контекста (-ов), и поскольку наше приложение имеет контекст «/ appA» там отсутствует контекст «/», и он не может переписать контекст.
Затем у нас есть два немедленных решения — во-первых, переопределить контекст нашего приложения в «/», что требует изменения файла .war, а во-вторых, удалить другое приложение в развертывании JBoss, которое имеет корневой контекст в виде «/», и в тот момент, когда Команда находится в середине рабочего развертывания, мы не можем вносить изменения в файл .war, поэтому мы выбрали второй вариант вместо первого, развернув другое веб-приложение с context-root как «/» .
| Ссылка: | Конфигурирование множественного контекстного корня для одного веб-приложения — JBoss от нашего партнера JCG |