[1] HTTP Load Balancing
7 lutego 2022Zainstaluj HAProxy, aby skonfigurować serwer równoważenia obciążenia. Ten przykład jest oparty na środowisku, jak poniżej.
Skonfiguruj serwery, których połączenie HTTP z serwerem HAProxy jest przekazywane do serwerów Backend Web.
[1] Zainstaluj HAProxy.
[root@vlsr01 ~]# dnf install haproxy
[2] Skonfiguruj HAProxy.
[root@vlsr01 ~]# mcedit /etc/haproxy/haproxy.cfg #zakomentuj wszystkie sekcje [frontend ***] [backend ***] #dodaj następujące następujące sekcje #zdefiniuj Frontend (dowolna nazwa jest OK [http-in]) frontend http-in #nasluchuj na 80 porcie bind *:80 #ustaw domyślny Backend default_backend backend_servers #przesyłaj nagłówek X-Forwarded-For option forwardfor #zdefiniuj Backend backend backend_servers #metoda: roundrobin balance roundrobin #definicja serwerów Backend’owych server node01 192.168.100.102:80 check server node02 192.168.100.103:80 check [root@vlsr01 ~]# systemctl enable --now haproxy
[3] Jeżeli Firewalld pracuje, otwórz port dla http by zezwolić na dostęp klientów do HAProxy.
[root@vlsr01 ~]# firewall-cmd --add-service=http –permanent [root@vlsr01 ~]# firewall-cmd –reload
[4] Domyślnie dla HAproxy, dzienniki są wysyłane do obiektu [local2], więc skonfiguruj Rsyslog, aby zapisywał je w pliku.
[root@vlsr01 ~]# mcedit /etc/rsyslog.conf #linie 19, 20: odkomentuj i dodaj module(load="imudp") # needs to be done just once input(type="imudp" port="514") $AllowedSender UDP, 127.0.0.1 #linie 46, 47: zmień *.info;mail.none;authpriv.none;cron.none;local2.none /var/log/messages local2.* /var/log/haproxy.log [root@vlsr01 ~]# systemctl restart rsyslog
[5] Zmień ustawienia Serwerów Web Backend’u (w tym przykładzie httpd Apache) na rejestrowanie nagłówka X-Forwarded-For.
[root@vlsr02 ~]# mcedit /etc/httpd/conf/httpd.conf #linia 199: zmień LogFormat "\"%{X-Forwarded-For}i\" %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined [root@vlsr02 ~]# systemctl restart httpd
[6] Sprawdź poprawność działania HAProxy, poprzez dostęp do Frontendu.