1

我有两个运行 Jboss 7 的应用服务器和一个 Web 服务器

我已经使用 mod_jk 模块配置了负载平衡

下面是我的workers.properties

worker.list=loadbalancer,status,node1,node2

worker.node1.port=8009
worker.node1.host=ip1
worker.node1.type=ajp13
worker.node1.lbfactor=1

worker.node2.port=8009
worker.node2.host= ip2
worker.node2.type=ajp13
worker.node2.lbfactor=1

worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=node1,node2
worker.loadbalancer.sticky_session=0
worker.list=loadbalancer

worker.status.type=status

下面是我的 uriworkermap.properties

/jmx-console=loadbalancer
/jmx-console/*=loadbalancer
/web-console=loadbalancer
/web-console/*=loadbalancer
/App/*=loadbalancer

下面是我在 httpd.conf 文件中所做的条目

<Proxy balancer://App>
BalancerMember ajp://xx.xx.xx.1:8009/App route=node1  
BalancerMember ajp://xx.xx.xx.2:8009/App route=node2  
ProxySet stickysession=JSESSIONID                         
</Proxy>                                                  

ProxyPass /App balancer://App                       
ProxyPassReverse /App balancer://App                
<Location /balancer-manager>                              
SetHandler balancer-manager                               
</Location>

下面是 mod-jk.conf 文件

LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log                                       
JkLogLevel info                                                 
JkLogStampFormat  "[%a %b %d %H:%M:%S %Y]"                      
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories 
JkRequestLogFormat "%w %V %T"                                   
JkMount /App/* loadbalancer                                  
JkMountFile conf/uriworkermap.properties                        
JkShmFile logs/jk.shm                                           
<Location /jkstatus>                                            
    JkMount status                                          
    Order deny,allow                                        
    Deny from all                                           
    Allow from 127.0.0.1                                    
</Location>                                                     

会话中有一些问题,我不明白该怎么做。

每当我启动 apache httpd 并点击 Web 服务器 URL 时,应用程序登录页面都会正确打开,并在两个应用程序服务器上进行适当的负载平衡。

场景 1:当我点击http://xx.xx.xx.xx/App/时,它会转到 App Server 1。但是当我输入用户名/密码并点击登录按钮时,它会转到应用程序服务器 2,而不是转到应用程序服务器 1。

4

1 回答 1

0

如果您使用独立的 JBoss 服务器,请为您的 Standalone.xml 中的每个实例添加如下实例 ID,会话关联将开始工作。

对于节点 1,

<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" instance-id="node1" native="false">

对于节点 2,

<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" instance-id="node2" native="false">

以下是一些可能对您有所帮助的链接(对于standalone.xml 和 server.xml),

链接1

链接2

于 2017-10-13T08:07:33.923 回答