En este tutorial, le mostraremos cómo instalar HAProxy en su Debian 9. Para aquellos de ustedes que no lo sabían, HAProxy es un equilibrador de carga y proxy de alta disponibilidad HTTP/TCP gratuito. servidor. Distribuye las solicitudes entre varios servidores para mitigar los problemas resultantes de una sola falla del servidor. Varios sitios web de alto perfil, incluidos GitHub, Bitbucket, Stack Overflow, Reddit, Tumblr, Twitter y Tuenti, utilizan HA Proxy, 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 Debian 9 (Stretch).
Instalar HAProxy en Debian 9 Stretch
Paso 1. Antes de instalar cualquier software, es importante asegurarse de que su sistema esté actualizado ejecutando el siguiente apt-get
comandos en la terminal:
apt-get updateapt-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.
Debian 9 ya viene con HAProxy 1.7 (la última versión estable en el momento de escribir este artículo), y simplemente podemos instalarlo usando apt-get:
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/ERRORES/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.18: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_f c } 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:80escuchar estadísticas *:1936 estadísticas habilitar stats hide-version stats refresh 30s stats show-node stats auth nombre de usuario:contraseña uri de estadísticas /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.18 (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 usar este tutorial para instalar la última versión de HAProxy en el servidor Debian 9 Stretch. Para obtener ayuda adicional o información útil, le recomendamos que consulte la sitio web oficial de HAProxy.