
¿Por qué utilizar un proxy inverso?
Antes de analizar los pasos para configurar HAProxy como proxy inverso, resaltemos rápidamente por qué los proxies inversos son buenos para usted. Estos son los beneficios de usar HAProxy como proxy inverso:
- Balanceo de carga – Su servidor web puede experimentar una gran cantidad de solicitudes de clientes al mismo tiempo y, si no se maneja adecuadamente, puede sobrecargar el servidor y provocar un tiempo de inactividad no planificado. Sin embargo, la configuración de un proxy inverso garantiza que el tráfico se distribuya entre los servidores backend, lo que garantiza que ningún servidor se sobrecargue con solicitudes.
- Cortafuegos y seguridad – Un proxy inverso conecta los dispositivos cliente a un servidor web. Hacer esto reduce el riesgo de exponer nuestros servidores backend directamente a Internet. De esta forma, el tráfico malicioso se puede filtrar y bloquear fácilmente antes de dañar el servidor.
- Mejor almacenamiento en caché – Con un proxy inverso, notará una mejora en el rendimiento general porque los tiempos de carga se reducen al almacenar en caché el contenido estático. Además, obtendrá una mejor experiencia de usuario.
- Terminación SSL/TLS – Con un proxy inverso, cifrar y descifrar conexiones SSL/TLS se vuelve fluido y sus servidores backend no tienen que asumir esta tarea, lo que reduce la carga.
Cómo configurar HAProxy como proxy inverso
Habiendo explicado por qué un proxy inverso como HAProxy es esencial, le indicamos los pasos de configuración a seguir.
Paso 1: Instale HAProxy
Es posible que HAProxy ya esté instalado en su sistema. Si es así, omita este paso. Sin embargo, para aquellos que son nuevos en esto, ejecute el siguiente comando para instalar HAProxy:
$ sudo apto instalar haproxy
Ya lo tenemos instalado en nuestro caso.

Paso 2: editar el archivo de configuración de HAProxy
HAProxy tiene un archivo de configuración al que debe acceder y editar para configurarlo como un proxy inverso. Primero abra el perfil usando un editor de texto.
$ sudo nano /etc/haproxy/haproxy.cfg
Una vez abierto, observa que tiene una configuración básica con secciones preestablecidas y globales. Luego tenemos que crear dos partes más: frontend y backend. El frontend define la interfaz que debe recibir las solicitudes de los clientes, mientras que el backend especifica el servidor que manejará el tráfico.
Para este ejemplo, configuramos la interfaz para aceptar las solicitudes de los clientes desde los puertos 80 y 81. Luego creamos una regla para distribuir el tráfico de modo que las conexiones del puerto 80 se enruten a un servidor específico mientras que las del puerto 81 van a otro diferente. Servidor. Nuestra parte frontal se ve así:


Como hemos creado dos servidores backend2 y linux_backend, tenemos que crear la parte backend para estos dos servidores. Especificamos que el tráfico debe enrutarse a las IP de «servidor1» y «servidor2».


Después de editar el perfil, guarde y salga del archivo. Tenga en cuenta que existen varias formas de configurar HAProxy según sus necesidades. Para nuestro ejemplo, creamos un servidor web utilizando direcciones IP específicas para enrutar el tráfico. Cambie la IP para que coincida con la IP de su servidor web y el puerto en el que desea escuchar.
Paso 3: verificar la validez
Usando HAProxy, hay un comando que le permite verificar que el perfil es válido. Ejecute el siguiente comando y vea el resultado resultante:
$ sudo haproxy -c -f /etc/haproxy/haproxy.cfg


Si obtiene resultados similares, confirme que su perfil es válido. De lo contrario, se generará un error.
Paso 4: prueba el proxy inverso
Usando comandos como «curl» puedes enviar tráfico a tu servidor web y ver cómo responde. Para nuestro ejemplo, usamos Python3 para crear el servidor web.


La ejecución del comando «curl» confirma que nuestro servidor web está escuchando en el puerto especificado y que HAProxy ha distribuido el tráfico al servidor especificado de acuerdo con nuestro perfil.


También puede acceder a su servidor web en un navegador y verificar que el proxy inverso esté funcionando correctamente.


Dado que tenemos dos servidores web que se pueden usar según el puerto utilizado por el dispositivo cliente, vinculemos diferentes servidores web a diferentes puertos y veamos qué sucede.
El siguiente resultado muestra que HAProxy enruta nuestro tráfico a un segundo servidor backend después de detectar que la solicitud del cliente se envió en el puerto 81, lo que confirma que la distribución del tráfico está funcionando como se esperaba.


Así es como se configura HAProxy como proxy inverso.
en conclusión
HAProxy es una excelente opción para el proxy inverso del servidor web. Configurarlo es sencillo. Especifique solo el puerto para escuchar las solicitudes de los clientes y las reglas para el equilibrio de carga. Luego, agregue los servidores backend que desea usar y tendrá el proxy inverso en funcionamiento. Este artículo comparte los pasos a seguir y muestra un ejemplo para asegurarse de que esté familiarizado con HAProxy.









