首页 > 代码库 > WildFly8.1+mod_cluster的ROOT应用问题

WildFly8.1+mod_cluster的ROOT应用问题

  上次已经做过了WildFly+mod_cluster配置集群+负载均衡的说明,并且我们可以部署应用完成负载均衡的访问,但最近的一个问题又出现了,就是我们常用的ROOT应用(项目的根应用),因为很多时候我们会将门户网站之类的配置到根路径以便访问。但是这样的话,我们通过访问mod_cluster_manager并没有看到/出现在负载均衡的服务器Context中,所以无法对根路径的项目进行负载均衡访问。
  出现该问题的原因就是WildFly默认会排除一些内部应用,让其避免被Apache中的mod_cluster检测到(检测到的才可以进行负载均衡的访问),而该配置默认是没有显式配置的,如果我们需要使用到根路径应用(即原来所说的ROOT.war),那么需要如下的配置:
  在项目的WEB-INF中添加jboss-web.xml文件:
<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 5.0//EN"
"http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd">
<jboss-web>
    <context-root>/</context-root>
</jboss-web>
   修改WildFly目录下的domain/configuration/domain.xml文件,找到如下代码段,加入excluded-contexts属性即可。
<subsystem xmlns="urn:jboss:domain:modcluster:1.2">
    <mod-cluster-config advertise-socket="modcluster" excluded-contexts="invoker,jbossws,juddi,console" connector="ajp">
        ...
    </mod-cluster-config>
</subsystem>

WildFly8.1+mod_cluster的ROOT应用问题