Question

J'ai deux serveurs JBoss AS 7 et je fais l'équilibrage de charge en utilisant mod_proxy.Presque tout fonctionne bien en plus des sessions collantes.J'ai un identifiant de session dans un cookie qui ne figure pas dans l'URL en tant que JSESSIONID.

Voici ma configuration Apache:

NameVirtualHost *:80
<VirtualHost *:80>

   ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover=Off
   ProxyPassReverse / balancer://tutcluster/
   ProxyPassReverse / http://server1:8080/
   ProxyPassReverse / http://server2:8080/
   ProxyPreserveHost On
   ProxyRequests Off

   <Location / >
      Order deny,allow
      Allow from All
   </Location>

   <Proxy balancer://mycluster/>
      BalancerMember http://server1:8080 route=jbossWeb1 retry=60
      BalancerMember http://server2:8080 route=jbossWeb2 retry=60
   </Proxy>
</VirtualHost>
Était-ce utile?

La solution

OK, je l'ai trouvé.Il y avait deux problèmes. Premièrement, j'ai oublié de définir la propriété jvmRoute dans la configuration JBoss.Alors j'ai mis:

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

et modification de la configuration des collaborateurs en:

BalancerMember http://server1:8080 route=nodeX retry=60

Le deuxième problème était nofailover=Off.Cela a probablement causé le chargement de certaines parties du contenu statique à partir d'un serveur et de certaines parties de celui-ci - à partir d'un autre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top