HAProxy is a free open-source load balancer, a high-performance, and proxy server for TCP and HTTP-based functions. It distributes the workload between the net and utility servers. It’s particularly developed for high-traffic web sites to enhance efficiency, availability, and redundancy.
Due to Haproxy’s reliability, effectivity, and low reminiscence and CPU footprint, it’s broadly used for load balancing. Load balancing is a well-liked answer to distribute internet functions horizontally throughout a number of servers whereas offering customers with a single level of entry to the service.
Allow us to see the way to set up and configure HAProxy load balancing with two internet servers on Debian 11.
Replace the Debian System
Earlier than putting in any software program, make sure that your system makes use of the newest out there software program packages in your Debian system
sudo apt replace
sudo apt -y improve
As soon as accomplished, restart the server
sudo reboot
Set up Apache Backend Servers
Now we’ll arrange two backend Apache servers. To put in and configure the Apache bundle, run the next instructions:
sudo apt set up apache2
After the apache2 set up, use the under command to predefine message in index.html
Server 1:
echo "<H1>Howdy from Apache Server1</H1>" | sudo tee /var/www/html/index.html
Server 2:
echo "<H1>Howdy from Apache Server2</H1>" | sudo tee /var/www/html/index.html
Word: This step is optionally available if you happen to want to use HAProxy with out Apache.
Set up HAProxy on Debian 11
To put in HAProxy, run the under command on each the servers:
sudo apt -y set up haproxy
Configure HAProxy as a load balancer
Now, arrange HAproxy to make use of a round-robin stability between the 2 servers.
Open the file /and so on/haproxy/haproxy.cfg and add the next configuration. Then, save and shut your file.
frontend apache_front
# Frontend hear port - 80
bind *:80
# Set the default backend
default_backend apache_backend_servers
# Allow ship X-Forwarded-For header
choice forwardfor
# Outline backend
backend apache_backend_servers
# Use roundrobin to stability visitors
stability roundrobin
# Outline the backend servers
server backend01 192.168.10.20:80 verify
server backend02 192.168.10.21:80 verify
Restart HAProxy on each servers by following these steps:
sudo systemctl restart haproxy
As soon as the configuration is accomplished, then open your internet browser and enter the URL http://your-haproxy-ip-address. After every refresh, HAProxy will ship requests to backend servers one after the other.
Configure SSL
Mix a non-public key and a certificates file with the next command:
cat fullchain.pem privkey.pem > haproxy.pem
Subsequent, configure the HAProxy to make use of the SSL certificates on the entrance finish.
frontend apache-frontend
bind *:80
bind *:443 ssl crt /and so on/letsencrypt/dwell/webapp.computingforgeeks.com/haproxy.pem
You will have now efficiently put in and configured the HAProxy load-balancing server. This can assist to extend your internet server efficiency.
Additionally, verify: HAProxy vs NGINX for Load Balancing
To get extra updates you’ll be able to comply with us on Fb, Twitter, LinkedIn
Subscribe to get free weblog content material to your Inbox