7.1.1.2 A l’aide de JSESSIONID

Cette configuration permet l’équilibrage de charge avec affinité en utilisant JSESSIONID.

Sur le serveur d’applications JBoss, le conteneur Tomcat ajoute le nom de l’instance à la fin de son cookie d’ID de session, en le séparant de l’ID de session par un point (.). De cette façon, si le serveur Web Apache détecte un point dans la valeur du cookie de persistance de la session, il utilise alors uniquement la portion de la valeur située après le point pour rechercher l’itinéraire. Pour que l’instance de serveur Tomcat connaisse son nom d’instance, définissez l’attribut jvmRoute du fichier de configuration JBoss deploy/jbossweb.sar/server.xml sur la valeur de l’itinéraire du worker qui se connecte au serveur JBoss respectif. Le nom du cookie de session utilisé ici est JSESSIONID.

Ajoutez la configuration suivante au fichier RACINE_APACHE/conf/httpd.conf.
<VirtualHost *:80> 
ServerName lb.xyz.com 
ServerAlias lb.xyz.com 
ProxyRequests Off 
ProxyPreserveHost On 
<Proxy balancer://cluster> 
BalancerMember http:// abc.com:8080 route=node1 
BalancerMember http:// xyz.com:8080 route=node2 
</Proxy> 
ProxyPass / balancer://cluster/ stickysession=JSESSIONID|jsessionid 
ProxyPassReverse / balancer://cluster/ 
</VirtualHost>
Configuration côté serveur
  1. Pour chacun des nœuds au sein de la grappe, ouvrez le fichier server.xml dans un éditeur de texte à partir de cet emplacement : [racine du serveur d'applications]/server/<nom_profil>/deploy/jbossweb.sar.

  2. Dans le fichier server.xml, recherchez l’élément Engine name et ajoutez un attribut jvmRoute. Par exemple, sur un nœud appelé node1, modifiez l’élément de la façon suivante :<Engine name="jboss.web" defaultHost="localhost" jvmRoute="node1">.

  3. Enregistrez le fichier server.xml modifié.

Remarque : pour chaque nœud de la grappe, la valeur de jvmRoute doit être unique et correspondre à la valeur de l’itinéraire du worker qui se connecte au serveur JBoss respectif (voir la configuration de BalancerMember dans httpd.conf).