Balanceamento de carga do JBoss7 com mod_proxy_balancer - sessão não funcionando

3

Estou tentando configurar o mod_proxy_balancer para solicitações de roteamento para 2 jboss7-servers. Por enquanto estou testando esta configuração na minha máquina local, usando a seguinte configuração em httpd.conf:

ProxyRequests Off
<Proxy \*>
   Order deny,allow
   Deny from all
</Proxy>

ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid scolonpathdelim=On
<Proxy balancer://mycluster>
BalancerMember http://localhost:8080 route=node1
BalancerMember http://localhost:8081 route=node2    
Order allow,deny
Allow from all
</Proxy>

e no arquivo standalone.xml de cada jboss eu defini a propriedade do sistema jvmRoute:

<system-properties>
    <property name="jvmRoute" value="node1"/>  
</system-properties>

Em http: // localhost / myapp, o aplicativo está acessível, mas a sessão java não é compilada corretamente. Consequentemente, a autenticação não está funcionando.

O engraçado é que tudo está funcionando se eu desligar uma instância do JBoss.

Como já experimentei algumas configurações, agradeço qualquer sugestão adicional.

    
por Phil P. 01.12.2013 / 15:58

2 respostas

2

Eu finalmente consegui a configuração funcionar.

Eu tive que adicionar as seguintes configurações na configuração do JBoss7 (standalone.xml):

<system-properties>
<property name="jvmRoute" value="node1"/>
<property name="UseJK" value="true"/>
</system-properties>

e:

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

...

    
por 09.12.2013 / 18:33
0

As configurações acima funcionarão para instâncias independentes, mas para configurações de domínio você precisa adicionar o "jvmRoute" ao host.xml na seção de servidores

<server name="server-one" group="server-one-group" auto-start="true">
  <system-properties>
  <property name="jvmRoute" value="server1" boot-time="true"/>
  </system-properties>
</server>

Repita o mesmo para todos os seus nós

<server name="server-one" group="server-one-group" auto-start="true">
  <system-properties>
  <property name="jvmRoute" value="server2" boot-time="true"/>
  </system-properties>
</server>

Se você estiver usando o mod_jk para o balanceamento de carga entre seus nós, então no servidor da web você precisa definir seus nós com o jvmRoute que você configurou acima, como segue: O arquivo worker.properties contém:

worker.list=oblb
worker.oblb.type=lb
worker.oblb.balance_workers=server1,server2
worker.oblb.sticky_session=true
worker.server1.reference=worker.template
worker.server1.host=Appserverhost1.example.com
worker.server1.port=8009

worker.server2.reference=worker.template
worker.server2.host=Appserverhost2.example.com
worker.server2.port=8009

worker.template.type=ajp13
    
por 28.05.2014 / 01:28