Proxy inverso
Un Proxy inverso es un intermediario de red que acepta las solicitudes de los clientes en nombre de uno o más servidores backend y gestiona cómo se manejan y entregan esas solicitudes.
Definición
Un proxy inverso es un intermediario del lado del servidor que se coloca delante de uno o más servidores web de origen para interceptar el tráfico entrante de los clientes, reenviarlo al backend adecuado y retransmitir las respuestas a los clientes. Abstrae la infraestructura del backend, protegiendo los detalles del servidor de la exposición directa y mejorando la escalabilidad, seguridad y fiabilidad. Al gestionar el flujo de tráfico, puede equilibrar la carga entre múltiples servidores, cachear contenido para una entrega más rápida y aplicar políticas de seguridad. Los proxies inversos se utilizan ampliamente en la infraestructura web, CDNs y sistemas empresariales para optimizar el rendimiento y proteger los servidores de origen de ataques directos. Este rol de intermediario lo distingue de los proxies forwards, que actúan en nombre de los clientes en lugar de los servidores.
Ventajas
- Mejora la seguridad ocultando los detalles de los servidores backend y mitigando ataques directos.
- Mejora el rendimiento mediante caché y compresión de contenido.
- Permite el balanceo de carga para distribuir el tráfico entre múltiples servidores.
- Soporta el desvío de SSL/TLS para reducir la carga de los servidores backend.
- Facilita la escalabilidad para aplicaciones y servicios de alto tráfico.
Desventajas
- Introduce un punto único de fallo si no se configura correctamente en redundancia.
- Puede convertirse en un cuello de botella de rendimiento sin recursos suficientes.
- Configuración y mantenimiento más complejos en comparación con arquitecturas más simples.
- Puede exponer tráfico cifrado si la finalización de TLS se maneja incorrectamente.
- Protección limitada para recursos no gestionados o no compatibles fuera de su alcance.
Casos de uso
- Distribuir el tráfico web en un clúster de servidores para evitar sobrecarga.
- Acelerar la entrega de contenido con caché en las ubicaciones de red.
- Proteger los servidores de origen contra DDoS y otros ataques web.
- Desviar las tareas de cifrado SSL/TLS de los servidores backend.
- Abstraer los servicios backend detrás de un punto de acceso público único.