0

我的 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 文件中的 context-root 并与 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'。如果我尝试使用 '/' context-root 部署它,我会收到此错误:

安装:无法处理部署“foo.war”的阶段安装原因:org.jboss.msc.service.DuplicateServiceException:服务 jboss.web.deployment.default-host./.realm 已注册

如果我使用 '/secondapp' context-root 部署它,则没有任何效果。只需 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”

4

1 回答 1

0

最后我用 mod_jk 做到了!这是关于标签的,它令人困惑。我写了一篇博客:http: //fabiobozzo.wordpress.com/2013/02/25/multiple-web-applications-with-jboss-and-apache/

于 2013-02-25T08:23:33.753 回答