Sunday, October 9, 2022

HAProxy: Configure HTTP Load Balancing Server in Rocky Linux 8.5

 in This Tutorial you will Learn " HAProxy: Configure HTTP Load Balancing Server in Rocky Linux 8.5"

HAProxy is a free and open source software that provides a high availability load balancer and proxy server for TCP and HTTP-based applications that spreads requests across multiple servers. It is written in C and has a reputation for being fast and efficient.
-----------+---------------------------+--------------------------+-------------
           |                           |                          |
           |192.168.1.20                    |192.168.1.80                 |192.168.1.70
+----------+-----------+   +-----------+----------+   +-----------+----------+
|   [ www.primaryhost.com ]  |     | [ www.tertiary.com ] |   | [ www.example.com ] |
|        HAProxy       |                           Web Server#1    |         Web Server#2    |
_________________________________________________________________________________________
Server - Os:  Rocky Linux 8.5  64Bit      |    IP -192.168.1.20        |     Hostname - www.primaryhost.com
_________________________________________________________________________________________
cat /etc/system-release ; sestatus ; hostname ; hostname -I ; dnf groupinstall "Development Tools" -y
dnf -y install haproxy
gedit /etc/haproxy/haproxy.cfg &>/dev/null
frontend http-in
    # listen 80 port
    bind *:80
    # set default backend
    default_backend    backend_servers
    # send X-Forwarded-For header
    option             forwardfor

backend backend_servers
    # balance with roundrobin
    balance            roundrobin
    # define backend servers
    server             node01 192.168.1.80:80 check
    server             node02 192.168.1.70:80 check
systemctl enable --now haproxy ; systemctl daemon-reload ; systemctl restart haproxy
systemctl status firewalld
________________________________________________________________________________________
Backends Web server 1-
cat /etc/system-release ; sestatus ; hostname ; hostname -I
dnf install httpd -y
gedit /etc/httpd/conf/httpd.conf &>/dev/null
LogFormat "\"%{X-Forwarded-For}i\" %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
systemctl restart httpd
echo "<h1>This is a Test Page www.tertiary.com</h1>" > /var/www/html/index.html
_________________________________________________________________________________________
Backends Web server 2-
cat /etc/system-release ; sestatus ; hostname ; hostname -I
yum install httpd -y
gedit /etc/httpd/conf/httpd.conf &>/dev/null
LogFormat "\"%{X-Forwarded-For}i\" %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
systemctl restart httpd
echo "<h1>This is a Test Page www.example.com</h1>" > /var/www/html/index.html
_________________________________________________________________________________________