jboss7.x - JBoss EAP 6 中的 mod_cluster、虚拟主机和 jboss 根上下文

标签 jboss7.x

我们在 Linux 上运行 Apache 2.2、mod_cluster 1.1 和 JBoss EAP 6.0.1 (JBoss 7)。

我试图在 JBoss 中设置虚拟主机,而不是在 jboss-web.xml 中设置虚拟主机。目标是 http://my.example.com/通过 apache/mod_cluster 路由并为在上下文根/上运行的应用程序提供服务。该应用程序在独立模式下运行良好。

apache 配置:

LoadModule slotmem_module       modules/mod_slotmem.so
LoadModule proxy_cluster_module modules/mod_proxy_cluster.so
LoadModule advertise_module     modules/mod_advertise.so
LoadModule manager_module       modules/mod_manager.so

Listen 192.168.1.2:6666
<VirtualHost 192.168.1.2:6666>
    ManagerBalancerName mycluster
    ServerAdvertise On
    CreateBalancers 0
    ... other content snipped ...
</VirtualHost>

<VirtualHost *:80>
       ServerAdmin my@email.address
       ProxyPass / balancer://mycluster stickysession=JSESSIONID|jsessionid nofailover=On
       ProxyPassReverse / balancer://mycluster
       ProxyPreserveHost On
       ServerName my.example.com
</VirtualHost>

应用程序包含 jboss-web.xml 的内容:

<?xml version="1.0" encoding="ISO-8859-1"?>
<jboss-web>
    <context-root>/</context-root>
</jboss-web>

部署应用程序的服务器使用的配置文件是这样配置的:

<virtual-server name="default-host" enable-welcome-root="false" default-web-module="my-app-name">
    <alias name="my.example.com"/>
</virtual-server>

我们有一个应用程序,其中包含一个名为 my-app-name.war 的 war 文件。 (无论是否提供 default-web-module,我都试过了,结果相同)

当我在应用程序服务器上启动 jboss 时,它们似乎可以毫无问题地启动应用程序:

[Server:MyApp] 12:17:34,786 INFO  [org.jboss.web] (MSC service thread 1-3)
JBAS018210: Registering web context:
[Server:MyApp] 12:17:34,811 INFO  [org.jboss.as.server] (Controller Boot Thread)
JBAS018559: Deployed "my-app-name.war"
[Server:MyApp] 12:17:34,823 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015874:
JBoss EAP 6.0.1.GA (AS 7.1.3.Final-redhat-4) started in 35274ms - Started 502 of 649
services (146 services are passive or on-demand)
[Host Controller] 12:17:34,829 INFO  [org.jboss.as.host.controller] (proxy-threads -
1) JBAS010919: Registering server MyApp

当我尝试转到 http://my.example.com 时,我得到了 apache 错误:

proxy: CLUSTER: (balancer://mycluster). All workers are in error state

当我检查网络服务器上的/mod_cluster-manager 时,我没有看到/定义的上下文根。但是,我确实看到了同一集群中另一个应用程序定义的上下文根,它使用了不同的配置文件:

context: 1 [/OtherApp] vhost: 1 node: 3 status: 1
context: 2 [/OtherApp] vhost: 1 node: 2 status: 1

另一个应用程序在 http://mydefaulthost.com/OtherApp 上运行良好.

最佳答案

你的配置不对

从上面的列表中删除 ROOT 上下文

<subsystem xmlns="urn:jboss:domain:modcluster:1.1">
    <mod-cluster-config advertise-socket="modcluster" excluded-contexts="ROOT,invoker,jbossws,juddi,console" proxy-list="192.168.0.62:6666" connector="ajp">
        <dynamic-load-provider>
            <load-metric type="busyness"/>
        </dynamic-load-provider>
    </mod-cluster-config>
</subsystem>

关于jboss7.x - JBoss EAP 6 中的 mod_cluster、虚拟主机和 jboss 根上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16112228/

相关文章:

从 JBoss 发出 http 请求时,Mule 出错

java - 如何测试 Jboss 7AS 的 POODLE 漏洞

jboss - Java EE 7 兼容服务器?

mysql - JPA Hibernate 项目中是否需要 DataSource?

java - 如何在JBOSS AS 5.1.0中添加管理用户?

java - 为 JBoss AS 7 运行 Java 服务包装器时出错

java - Jboss 7.1 独立套接字/端口错误

java-8 - 在 Jboss EAP 6.4 上通过 JNDI 进行远程 EJB 查找

java - 使用 Java 登录 Jboss 7.1.1 Final 管理控制台

jboss7.x - 拆分standalone.xml配置文件