Cómo Configurar la Rotación de Proxies con HAProxy
Introducción
HAProxy es un potente balanceador de carga que puede utilizarse para la rotación automática de proxies. Distribuye las solicitudes entre múltiples proxies ascendentes.
Configuración Básica
Instalación de HAProxy
sudo apt install haproxy
Configuración de Rotación
Archivo /etc/haproxy/haproxy.cfg:
frontend proxy_in
bind *:8080
default_backend proxy_pool
backend proxy_pool
balance roundrobin
option httpchk GET /
server proxy1 upstream1_ip:port check
server proxy2 upstream2_ip:port check
server proxy3 upstream3_ip:port check
Esto configura la rotación round-robin entre tres proxies ascendentes con comprobaciones de salud.
Algoritmos de Balanceo de Carga
- roundrobin — rotación secuencial
- leastconn — al servidor con menos conexiones
- random — selección aleatoria
- source — vinculación por IP del cliente (sticky)
Configuración Avanzada
Variables de Entorno
La mayoría de las herramientas soportan variables de entorno estándar para proxies:
- HTTP_PROXY / http_proxy — proxy para solicitudes HTTP
- HTTPS_PROXY / https_proxy — proxy para solicitudes HTTPS
- NO_PROXY / no_proxy — lista de exclusión (direcciones que omiten el proxy)
- ALL_PROXY / all_proxy — proxy para todos los protocolos
SSL y Certificados Auto-firmados
Los proxies corporativos a menudo utilizan sus propios certificados SSL. Para trabajar a través de ellos, necesitas:
1. Obtener el certificado CA del proxy del administrador
2. Añadirlo al almacén de certificados del sistema
3. O deshabilitar la verificación SSL (solo para pruebas)
Autenticación
Se soportan dos métodos principales de autenticación:
Por nombre de usuario y contraseña — autenticación HTTP Basic estándar. Las credenciales se envían con cada solicitud. Formato URL: http://user:pass@proxy_ip:port
Por dirección IP (lista blanca) — tu IP se añade a una lista blanca. No es necesario enviar credenciales.
Verificación
Después de la configuración, verifica:
1. Realiza una solicitud de prueba a través del proxy
2. Asegúrate de que la IP ha cambiado
3. Comprueba la velocidad de conexión
4. Asegúrate de que no hay fugas de DNS
Solución de Problemas
El proxy no se conecta
- Comprueba la dirección y el puerto para verificar su corrección
- Asegúrate de que el firewall no está bloqueando la conexión
- Comprueba la accesibilidad del proxy desde tu red
Errores SSL
- Para proxies corporativos, añade el certificado CA
- Para pruebas, deshabilita temporalmente la verificación SSL
- Actualiza las bibliotecas SSL a la última versión
Errores de autenticación
- Comprueba el nombre de usuario y la contraseña
- Asegúrate del formato correcto de las credenciales
- Intenta codificar URL los caracteres especiales en la contraseña
Mejores Prácticas
- Usa variables de entorno — para flexibilidad y seguridad
- No codifiques credenciales — usa variables de entorno o archivos de configuración
- Configura exclusiones — no uses proxy para localhost y direcciones internas
- Documenta la configuración — en el README del proyecto o la wiki del equipo
- Prueba después de los cambios — cualquier cambio de configuración requiere verificación
Conclusión
Una configuración adecuada del proxy asegura el funcionamiento estable de las herramientas y la seguridad de la conexión. Sigue las recomendaciones de esta guía y siempre verifica la funcionalidad después de la configuración.