7.1.1.2 Verwenden von JSESSIONID

Mit dieser Konfiguration kann Lastenausgleich mithilfe von JSESSIONID verwendet werden.

Im JBoss-Anwendungsserver fügt der Tomcat-Container den Namen der Instanz am Ende des Sitzungs-ID-Cookies, getrennt durch einen Punkt (.), aus der Sitzungs-ID hinzu. Wenn der Apache-Webserver also einen Punkt im Wert des Sitzungspersistenzcookies findet, verwendet er nur den Teil, der sich hinter dem Punkt befindet, um nach der Route zu suchen. Damit die Apache Tomcat-Serverinstanz ihren Instanznamen erkennt, setzen Sie das Attribut jvmRoute in der JBoss-Konfigurationsdatei /jbossweb.sar/server.xml auf den Wert der Route des Workers, der mit dem jeweiligen JBoss-Server verknüpft ist. Der hier verwendete Name des Sitzungscookies ist JSESSIONID.

Fügen Sie in die Datei „APACHE_HOME/conf/httpd.conf“ folgende Konfiguration ein.
<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>
Serverseitige Konfiguration
  1. Öffnen Sie für jeden Knoten im Cluster die Datei „server.xml“ in einem Texteditor von diesem Speicherort aus:[Anwendungsserver-Stammordner]/server/<Profilname>/deploy/jbossweb.sar.

  2. Durchsuchen Sie die Datei „server.xml“ nach dem Element Engine name und fügen Sie ein Attribut jvmRoute hinzu. Bearbeiten Sie beispielsweise auf einem Knoten mit dem Namen „Knoten1“ das Element wie folgt:<Engine name="jboss.web" defaultHost="localhost" jvmRoute="node1">

  3. Speichern Sie die bearbeitete Datei „server.xml“.

Hinweis: : Für jeden Clusterknoten muss der Wert von „jvmRoute“ eindeutig sein und mit dem Wert der Route des Workers, der mit dem entsprechenden JBoss-Server verknüpft ist, übereinstimmen (Siehe „BalancerMember-Konfiguration“ in „httpd.conf“).