HA Proxy significa Proxy de alta disponibilidad escrito en C. Es un equilibrador de carga TCP/HTTP de código abierto y gratuito y una solución de proxy para aplicaciones basadas en TCP y HTTP. HA Proxy le permite equilibrar el tráfico TCP/HTTP entrante mediante la distribución de la carga en el servidor backend utilizando diferentes criterios.
El uso de HA Proxy es para proporcionar tolerancia a fallas y alta disponibilidad en caso de que un nodo reciba demasiadas solicitudes simultáneas. Es utilizado por los sitios web más famosos como GitHub, Stack Overflow y Tumbler.
HA Proxy permite que una aplicación se reinicie automáticamente o redirija el trabajo a otro servidor en caso de falla. HA Proxy es un balanceador de carga poderoso, de alta potencia, confiable y seguro.
En su tutorial instalaremos y configuraremos HA Proxy en CentOS 8.
Instalar proxy HA:
yum -y install haproxy
Configurar proxy HA:
Tenga en cuenta que la siguiente configuración es para aplicaciones que utilizan una conexión TCP para conectarse a la máquina/aplicación de destino.
La configuración del proxy Ha consta de 4 pasos:
- configuración global: Primero, usamos para establecer parámetros de todo el proceso.
- valores predeterminados: En segundo lugar, utilizamos valores predeterminados para establecer parámetros predeterminados para todas las demás secciones.
- interfaz: En esta sección, definimos cómo accedemos a HA Proxy externamente para habilitar el acceso al backend.
- backend: Se utiliza para definir un conjunto de servidores a los que se conectará el proxy para reenviar las conexiones entrantes.
Ahora, cree un directorio llamado ejecutar en /etc/haproxy para el socket de estadísticas.
mkdir /etc/haproxy/run
Abra el archivo de configuración del proxy HA con el siguiente comando:
nano /etc/haproxy/haprxoy.conf
Elimina la configuración predeterminada presente en el archivo.
Ahora, agregue la siguiente configuración:
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /etc/haproxy/run/admin.sock mode 660 level admin
stats timeout 30s
user haproxy
group haproxy
daemon
defaults
log global
option dontlognull
option tcplog
mode tcp
timeout connect 5000
timeout client 50000
timeout server 50000
listen stats
bind 192.168.7.38:3000
mode http
maxconn 10
timeout queue 300s
stats enable
stats refresh 10s
stats show-node
stats auth haproxyadmin:haproxyadmin
stats uri /haproxy
frontend server_front
bind *:9909
default_backend server_back
backend server_back
balance roundrobin
server S1 192.168.189.129:9909 check
server S2 192.168.189.130:9909 check
Tenga en cuenta que la configuración anterior es para una conexión TCP o una aplicación donde se requiere una conexión TCP con el servidor. También puede realizar la configuración para aplicaciones HTTP reemplazando tcp con http en la configuración anterior.
Iniciar y habilitar proxy HA:
systemctl start haproxy.service
systemctl enable haproxy.service
systemctl status haproxy.service
Abra la URL del proxy HA para ver las estadísticas de conexiones.