Проблемы с директивой JBoss и ProxyPass Apache

Мой JBoss 7.1 (standalone.xml) настроен следующим образом:

<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false">
            <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
            <connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp"/>
            <virtual-server name="default-host" enable-welcome-root="false" default-web-module="mydefaultapp">
                <alias name="localhost"/>
                <alias name="www.mydefaultapp.it"/>
            </virtual-server>
            <virtual-server name="secondApp" enable-welcome-root="false" default-web-module="secondApp">
                <alias name="www.secondapp.com"/>
            </virtual-server>
        </subsystem>

'mydefaultapp' определяет "/" как корневой контекст в файле jboss-web.xml и отлично работает с mod_jk:

<VirtualHost *:80>
        ServerName      www.mydefaultapp.it

        DocumentRoot /var/www/mydefaultapp
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/mydefaultapp>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        SetEnvIf Request_URI "/foto/*" no-jk
        JkMount / ajp13
        JkMount /* ajp13

</VirtualHost>

Теперь у меня есть эта война «secondapp», которая не определяет корневой контекст, поэтому предполагает «/ secondapp». Если я попытаюсь развернуть его с корневым контекстом '/', я получу эту ошибку:

УСТАНОВКА: не удалось обработать фазу УСТАНОВКИ развертывания «foo.war». Причина: org.jboss.msc.service.DuplicateServiceException: служба jboss.web.deployment.default-host./.realm уже зарегистрирована.

Если я разверну его с контекстным корнем '/secondapp', ничего не сработает. Просто www.secondapp.com заканчивается ошибкой 404 not found.

Возможным решением будет использование http-прокси с этой конфигурацией:

<VirtualHost *:80>
    ServerName www.secondapp.com
    ProxyPass         /     http://localhost:8080/secondapp/
    ProxyPassReverse  /     http://localhost:8080/secondapp/
</VirtualHost>

который кажется работающим, но... я не могу получить доступ к ресурсам jsf (я продолжаю получать форму входа, есть проблема с моей безопасностью)

Не могли бы вы предложить мне правильную конфигурацию для двух доменов, двух войн с JBoss 7.1 + Apache2 + mod_jk. Помните, что у первого есть корневой контекст «/», а у второго — «/secondapp».


person Fabio B.    schedule 08.02.2013    source источник


Ответы (1)


Наконец-то я сделал это с mod_jk! Это о теге, это сбивает с толку. Я написал об этом в блоге: http://fabiobozzo.wordpress.com/2013/02/25/multiple-web-applications-with-jboss-and-apache/

person Fabio B.    schedule 25.02.2013