Configuring Apache 2.2 to Load-Balance a LiveCycle Cluster on JBoss

To configure IIS 7.5, see here.

A load balancer is always required when LiveCycle is deployed in a cluster (with more than one member node). Apache Web Server 2.2 can be easily and quickly configured to act as one.

1) Download and install Apache Web Server 2.2 from here.

JBOSS CONFIGURATION
——————————

2) Assuming that the DNS name of the machine hosting the Apache Web Server is apache.company.com, edit the Tomcat configuration file ($JBOSS_HOME/jboss-4.2.0_mssql2005/server/all/deploy/jboss-web.deployer/server.xml) of each of the JBoss instances in the cluster hosting LiveCycle so that the HTTP Connector configuration looks similar to this:
<Connector port="8080" address="${jboss.bind.address}"
proxyName="apache.company.com" proxyPort="80"
maxThreads="250" maxHttpHeaderSize="8192"
emptySessionPath="true" protocol="HTTP/1.1"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />

APACHE WEB SERVER CONFIGURATION
————————————————-

3) Edit the configuration file of Apache Web Server (httpd.conf) and enable proxying, load balancing and load balancer management by uncommenting the following lines:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule status_module modules/mod_status.so

# Set TCP/IP network buffer size for better throughput (bytes)
ProxyReceiveBufferSize 4096

4) Assuming that you have a vertical cluster of two JBoss instances (listening respectively on ports 8080 and 8090) running on the same machine (ip address 10.20.30.40), configure a Load Balancer named livecycle-lb:
# Enable Load Balancing
<Proxy balancer://livecycle-lb>
BalancerMember http://10.20.30.40:8090
BalancerMember http://10.20.30.40:8080
</Proxy>

More details are available here.

5) Perform additional configuration for the LiveCycle applications

# FormsIVS configuration
ProxyPass /FormsIVS balancer://livecycle-lb/FormsIVS
ProxyPassReverse / balancer://livecycle-lb/FormsIVS

# OutputIVS configuration
ProxyPass /OutputIVS balancer://livecycle-lb/OutputIVS
ProxyPassReverse / balancer://livecycle-lb/OutputIVS

# AssemblerIVS configuration
ProxyPass /Assembler balancer://livecycle-lb/Assembler
ProxyPassReverse / balancer://livecycle-lb/Assembler
ProxyPass /remoting balancer://livecycle-lb/remoting
ProxyPassReverse / balancer://livecycle-lb/remoting

# Rights Management
ProxyPass /edc balancer://livecycle-lb/edc
ProxyPassReverse / balancer://livecycle-lb/edc
ProxyPass /rightsmgmt_help_en balancer://livecycle-lb/rightsmgmt_help_en
ProxyPassReverse / balancer://livecycle-lb/rightsmgmt_help_en

# Workbench
ProxyPass /soap balancer://livecycle-lb/soap
ProxyPassReverse / balancer://livecycle-lb/soap
ProxyPass /DocumentManager balancer://livecycle-lb/DocumentManager
ProxyPassReverse / balancer://livecycle-lb/DocumentManager

If you have any custom applications, for example with a context root of /lctest, add that:

# Custom application
ProxyPass /lctest balancer://livecycle-lb/lctest
ProxyPassReverse / balancer://livecycle-lb/lctest

6) Configure a Load Balancer Manager to check the status of the load balancer:
# Enable Load Balancer Manager
<Location /livecycle-lb-manager>
SetHandler balancer-manager
Deny from all
Allow from .company.com
</Location>

7) Re-start the Apache Web Server.

8) Re-start the JBoss instances in the cluster that hosts LiveCycle ES

VERIFICATION
————

9) Point your browser to http://apache.company.com/livecycle-lb-manager
Under the “Worker URL” header, you should see all of the cluster members listed with the status of “Ok”.

10) Bring one of the two JBoss instances down. Verify that you can still access LiveCycle:

http://apache.company.com/adminui

10) Bring the JBoss instance you shut down back up. Bring the other JBoss instance down. Verify that you can still access LiveCycle:

http://apache.company.com/adminui

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 8.0/10 (1 vote cast)
Configuring Apache 2.2 to Load-Balance a LiveCycle Cluster on JBoss, 8.0 out of 10 based on 1 rating
This entry was posted in Adobe LiveCycle ES, General Interest and tagged . Bookmark the permalink.

2 Responses to Configuring Apache 2.2 to Load-Balance a LiveCycle Cluster on JBoss

  1. Vincent Tillman says:

    Is something missing here? I could not get this to work until I added a ProxyPass and ProxyPassReverse for the root virtual path:

    # FormsIVS configuration
    ProxyPass / balancer://livecycle-lb/
    ProxyPassReverse / balancer://livecycle-lb/

  2. Marcelo Fiorito says:

    I really want to know how can I log in using workbench having a reverse proxy in front of a IHS. When I Try to log I always receive this error:

    An internal error occurred during: “Initializing service data”.
    com.adobe.idp.DocumentError: Failed to connect to LiveCycle server via HTTP URL: http://wsp7-lc.com.br:80/DocumentManager

    Can you help me?

    Thanks