Configure Apache load balancer with mod proxy

From LogicalDOC Community Wiki
Revision as of 10:41, 27 June 2019 by Blucecio (talk | contribs) (Configure Tomcat)
Jump to navigationJump to search

Server setup

The layout may look something like this (we will refer to these names through the rest of the guide).

Define Apache Load-balancer

This server will handle all HTTP requests from site visitors. As you might see, this means even though you run a load balanced system, using only a single load balancer means you still have a SPOF (single point of failure). It is also possible to configure an environment where yet another server will act as the fail-over load-balancer if the first one fails, but this is outside the scope of this guide.

To set up our load-balancer, we use the Apache web-server and its modules mod_proxy and mod_proxy_balancer. These are part of most of the Apache web-server distributions.

First, create a virtual host handling the requests for your domain:

<VirtualHost *:80>


  ServerAdmin webmaster@localhost
  DocumentRoot /var/www/html

  ProxyRequests Off
  ProxyPreserveHost On

  <Proxy balancer://mycluster>
        BalancerMember "http://eva00:9080" route=1
        BalancerMember "" route=2

        ProxySet lbmethod=byrequests
        ProxySet stickysession=ROUTEID

  ProxyPass / balancer://mycluster/
  ProxyPassReverse / balancer://mycluster/

  ErrorLog ${APACHE_LOG_DIR}/proxy-error.log
  CustomLog ${APACHE_LOG_DIR}/proxy-access.log combined


Configure Tomcat

    <Connector port="8082" protocol="HTTP/1.1"
               URIEncoding="UTF-8" server="Undisclosed/8.41" proxyName="" proxyPort="80" />