7.2.2 Verwendung von „mod_proxy_ajp“

Diese Konfiguration verwendet das Plug-In „mod_proxy_ajp“ von Apache für den Lastenausgleich von JBoss-Cluster im AJP-Protokoll. Für dieses Modul ist mod_proxy erforderlich. Um das AJP-Protokoll verwenden zu können, müssen daher „mod_proxy“ und „mod_proxy_ajp“ im Server vorhanden sein.

Dieses Modul wird verwendet, um den Proxy mithilfe des AJP-Protokolls auf einen Anwendungsserver umzukehren. Es wird ähnlich wie ein HTTP-Reverse-Proxy verwendet, verwendet aber das Präfix „ajp://“.

Entfernen Sie den Kommentar für folgende Modulkonfigurationen in der Datei APACHE_HOME/conf/httpd.conf.

LoadModule proxy_module modules/mod_proxy.so 
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so 
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

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 ajp://abc.com:8009 route=node1 
BalancerMember ajp://xyz.com:8009 route=node2 
ProxySet lbmethod=byrequests 
</Proxy> 
ProxyPass / balancer://cluster/ stickysession=JSESSIONID|jsessionid 
</VirtualHost>

Normalerweise ist keine ProxyPassReverse-Anweisung notwendig. Die AJP-Anforderung umfasst die ursprüngliche Hostkopfzeile für den Proxy und der Anwendungsserver generiert Kopfzeilen, die auf sich selbst verweisen, relativ zu diesem Host. Daher ist keine Umschreibung erforderlich.

Serverseitige Konfiguration:

  1. Öffnen Sie für jeden Knoten im Cluster die Datei „server.xml“, die sich für die Bearbeitung unter [Anwendungsserver-Stammordner]/server/all/deploy/jbossweb.sar befindet.

  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“).