GNU/Linux >> Tutoriales Linux >  >> FreeBSD

Cómo instalar HAProxy en FreeBSD

HAProxy, como sugiere su nombre, es un servidor proxy y un equilibrador de carga para proporcionar alta disponibilidad. En este artículo primero mostraré cómo instalar HAProxy en FreeBSD. A continuación, lo configuraremos para que actúe como un proxy inverso.

La instalación

En FreeBSD me gusta compilar e instalar mi software desde el árbol de puertos, así que ejecútelo como root:

# cd /usr/ports/net/haproxy
# make install clean

Preste atención a la pantalla para ver si aparece algún cuadro de diálogo de opciones (principalmente de dependencias). Habilite HAProxy en /etc/rc.conf cuando esté instalado y continúe con la siguiente sección:

# /usr/local/etc/rc.d/haproxy enable
haproxy enabled in /etc/rc.conf

La configuración

Antes de proceder a editar el archivo de configuración, permítanme explicar un escenario:

Primero, solo tenemos una IP pública disponible. En segundo lugar, tenemos un par de servicios que queremos exponer en Internet, digamos una aplicación (webapp) y nuestro sitio web. Ambos se ejecutan en sus propios servidores. Finalmente tenemos un tercer servidor de repuesto donde ya instalamos HAProxy en la sección anterior y este será el expuesto en internet.

Un usuario dirigirá su navegador a http://haproxy/website o http://haproxy/app y haproxy enviará la consulta al servidor correcto y devolverá los resultados al navegador.

                                      ________         /------- [server A]
[ client browser] ----->   | haproxy  |-----+
                                    +----------+        \--------[server B]

De todos modos, wikipedia explica mejor cómo funciona un proxy inverso.

Agregue las siguientes secciones a /usr/local/etc/haproxy.conf. Para empezar, los valores predeterminados globales están bien:

frontend http-in
    bind *:80
    option forwardfor
    use_backend uno if { path_beg /app}
    use_backend dos if { path_beg /www }

backend uno
    mode http
    server nodea ipAp.or.fqdn:port

backend dos
       mode http
       server nodeb ipB.or.fqdn:port

Si usted, como yo, no tiene un ejemplo de haproxy.conf, agregue esta sección en la parte superior del archivo:

global
    daemon
    maxconn 4096

defaults
   log global
   mode http
   timeout connect 5s
   timeout client 10s
   timeout server 10s

Con esta configuración mínima puedes comprobar si todo está bien e iniciar el servicio:

Para fines de prueba, hice haproxy para obtener cosas de mi propia PC:


Tengo un Apache donde almaceno algunos programas que podría necesitar cuando estoy en la PC de otra persona. La palabra mágica es la URL completa de algunos de esos programas.

¿Qué pasa con algunos reales uso de HAProxy?

Este es un ejemplo mínimo, no muy útil por cierto. Recomiendo encarecidamente leer al menos dos documentos de HAProxy:

  • Guía de inicio y
  • Manual de configuración

Y tu haproxy.conf el archivo sería tan complicado o simple como sea necesario.


FreeBSD
  1. Cómo instalar HAProxy en Debian 11

  2. Cómo instalar Gitlab en FreeBSD

  3. Cómo instalar Gnome en FreeBSD 13

  4. Cómo instalar Cinnamon en FreeBSD 13

  5. Cómo instalar XFCE en FreeBSD 13

Cómo instalar HAProxy en CentOS 8

Cómo instalar HAProxy en Ubuntu 16.04 LTS

Cómo instalar HAProxy en Ubuntu 18.04 LTS

Cómo instalar HAProxy en Ubuntu 20.04 LTS

Cómo instalar Apache en FreeBSD

Cómo instalar WordPress en FreeBSD