mod_cluster 1.3.0 + jboss 6.3.3中的粘性会话

时间:2018-02-07 13:08:10

标签: jboss mod-cluster

我有1个mod_cluster(1.3.0)和2个JBoss(6.3.3)的设置。我正在尝试使用stickysession,但我无法在响应中看到cookie,并且请求由不同的节点提供。

使用默认的mod_cluster配置(使用我的IP)

<IfModule manager_module>
  Listen 156.24.221.149:6666
  ManagerBalancerName mycluster
  <VirtualHost 156.24.221.149:6666>
    <Location />
     Require ip 156.24
    </Location>

    KeepAliveTimeout 300
    MaxKeepAliveRequests 0
    #ServerAdvertise on http://@IP@:6666
    AdvertiseFrequency 5
    #AdvertiseSecurityKey secret
    #AdvertiseGroup @ADVIP@:23364
    EnableMCPMReceive

  </VirtualHost>

  <Location /mod_cluster_manager>
     SetHandler mod_cluster-manager
     Require ip 156.24
  </Location>


</IfModule>

我也尝试使用ProxyPass但是根据这个响应(Sticky session not working with multiple apache vhosts and multiple JBoss 7.2 server-groups),它现在是多余的,粘性应该是默认行为。

编辑#2:不再使用此虚拟主机定义            ServerName dar.com

#  ProxyPass / balancer://mycluster stickysession=JSESSIONID
#  ProxyPassReverse / balancer://mycluster
#  ProxyPreserveHost On

  ErrorLog "logs/vhost1_error.log"
  CustomLog "logs/vhost1_access.log" common
</VirtualHost>

没有更改JBoss配置,只是运行standalone-ha.xml

有关如何解决/调试此问题的任何建议?

感谢。

编辑:添加了mod_cluster快照。为了记录,我不得不在虚拟主机定义之外的httpd.conf文件中使用mod_cluster配置(否则我无法访问该资源)。 mod_cluster config

1 个答案:

答案 0 :(得分:0)

我已经使这个适用于另一个场景(域模式下的wildfly10),但它将是相同的配置。

参考:Modcluster 1.3.0 with Wildfly 10.1.0

使用此:

<VirtualHost *:80>
  ServerName dar.com

  ProxyPass / balancer://mycluster stickysession=JSESSIONID|jsessionid nofailover=On
  ProxyPassReverse / balancer://mycluster
  ProxyPreserveHost On

  ErrorLog "logs/vhost1_error.log"
  CustomLog "logs/vhost1_access.log" common
</VirtualHost>

然后,当您在浏览器上访问“dar.com”时,会话将“坚持”。