En este tutorial, le mostraremos cómo instalar y configurar HAProxy en Ubuntu 16.04 LTS. Para aquellos de ustedes que no lo sabían, HAProxy es un balanceador de carga de alta disponibilidad HTTP/TCP gratuito. y servidor proxy. Distribuye las solicitudes entre varios servidores para mitigar los problemas resultantes de una falla en un solo servidor. HA Proxy es utilizado por varios sitios web de alto perfil, incluidos GitHub, Bitbucket, Stack Overflow, Reddit, Tumblr, Twitter y Tuenti, y se utiliza en el producto OpsWorks de Amazon Web Services.
Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y asume que se están ejecutando en la cuenta raíz, si no, es posible que deba agregar 'sudo
' a los comandos para obtener privilegios de root. Le mostraré paso a paso la instalación de HAProxy en un servidor Ubuntu 16.04 (Xenial Xerus).
Instalar HAProxy en Ubuntu 16.04 LTS
Paso 1. Primero, asegúrese de que todos los paquetes de su sistema estén actualizados ejecutando el siguiente apt-get
comandos en la terminal.
sudo apt-get upgradesudo apt-get upgrade
Paso 2. Detalles de la red.
A continuación se muestra nuestro servidor de red. Hay 3 servidores web que se ejecutan con Apache2 y escuchan en el puerto 80 y un servidor HAProxy:
Detalles del servidor web:Servidor 1: web1.idroot.us 192.168.1.101 Servidor 2: web2.idroot.us 192.168.1.102 Servidor 3: web3.idroot.us 192.168.1.103HAProxy Server: haproxy /pre>Paso 3. Instalación de HAProxy.
Ahora instale HAProxy con el siguiente comando:
apt-get -y instalar haproxyDespués de la instalación, puede verificar el número de versión instalada con lo siguiente:
haproxy -vPaso 4. Configuración de HAProxy.
Tenemos que modificar el archivo de configuración de HAProxy, es decir,
/etc/haproxy/haproxy.cfg
según nuestro requisito. (Cambie esta configuración según sus requisitos de red). Para obtener más detalles de configuración, consulte esta URL.### nano /etc/haproxy/haproxy.cfgglobal log /dev/log local0 log /dev/log local1 Notice chroot /var/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin stats timeout 30s user haproxy group haproxy daemon # Ubicaciones de material SSL predeterminadas ca-base /etc/ssl/certs crt-base /etc/ssl/private # Cifrados predeterminados para usar en sockets de escucha habilitados para SSL. # Para obtener más información, consulte cifrados (1SSL). Esta lista es de: # https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/ ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256::RSA+ AES:RSA+3DES :! ANULL :! MD5 :! DSS SSL-DEFAULT-BIND-OPTIONS NO-SSLV3DEFAULTS LOG MODO GLOBAL MODO HTTP OPCIÓN HTTPLOG DONTLOGNULL TIMEOUT CONNECT 5000 TIEMPOUT CLIENTE 50000 TIMEOUT SERVER 50000 ERROR DE ERROR 400/ETCOPROXY/ERRORS/ERRORES/////////// 400.http archivo de error 403 /etc/haproxy/errors/403.http archivo de error 408 /etc/haproxy/errors/408.http archivo de error 500 /etc/haproxy/errors/500.http archivo de error 502 /etc/haproxy/errors/502. http errorfile 503 /etc/haproxy/errors/503.http errorfile 504 /etc/haproxy/errors/504.httpfrontend Local_Server bind 192.168.1.16:80 mode http default_backend My_Web_Serversbackend My_Web_Servers mode http balance roundrobin option forwardfor header- Xrequest -Puerto reenviado %[dst_port] http-request add-header X-Forwarded-Proto https si { ssl_fc } opción httpchk HEAD / HTTP/1.1rnHost:localhost servidor web1.idroot.us 192.168.1.101:80 servidor web2.idroot.us 192.168.1.102:80 servidor web3.idroot.us 192.168.1.103:80listen stats *:1936 stats enable hide-version stats refresh 30s stats show-node stats auth username:password stats uri /statsYa que ha terminado con todas las configuraciones necesarias para el servidor proxy, verifique el archivo de configuración antes de reiniciar el servicio usando el siguiente comando:
haproxy -c -f /etc/haproxy/haproxy.cfgSi el comando anterior devuelve el resultado como "el archivo de configuración es válido", reinicie el servicio HAProxy:
systemctl reiniciar haproxyPaso 5. Acceso a HAProxy.
Abra su navegador favorito y acceda al puerto 80 en IP 192.168.0.16 (como se configuró anteriormente) en un navegador web y presione actualizar. Verá que HAProxy está enviando solicitudes al servidor back-end uno por uno (según el algoritmo de turno rotativo).
¡Felicitaciones! Ha instalado correctamente HAProxy. Gracias por utilizar este tutorial para instalar el balanceo de carga de HAProxy en el sistema Ubuntu 16.04 LTS (Xenial Xerus). Para obtener ayuda adicional o información útil, le recomendamos que consulte el sitio web oficial de HAProxy.