Un proxy inverso es un servidor o aplicación de software que se ubica entre los clientes y los servidores backend, intercepta las solicitudes de los clientes y las reenvía a los servidores backend apropiados. A diferencia de un proxy directo tradicional que maneja las solicitudes salientes de los clientes, un proxy inverso gestiona las solicitudes entrantes de los clientes en nombre de los servidores backend. Actúa como un intermediario que mejora la seguridad, mejora el rendimiento y proporciona funciones adicionales como equilibrio de carga, terminación SSL, almacenamiento en caché y protecciones de firewall de aplicaciones web (WAF).
Los proxies inversos se utilizan ampliamente en alojamiento web, entrega de aplicaciones y arquitecturas de seguridad. Sirven para varios propósitos clave, que incluyen:
- Equilibrio de carga: distribución de solicitudes entrantes de clientes entre múltiples servidores backend para optimizar la utilización de recursos y mejorar el rendimiento de las aplicaciones.
- Terminación SSL: descifrar el tráfico cifrado SSL/TLS en el proxy inverso antes de reenviarlo a los servidores backend, lo que reduce la carga computacional en los recursos backend.
- Almacenamiento en caché: almacenamiento de contenido al que se accede con frecuencia en el borde de la red para reducir los tiempos de respuesta y disminuir la carga del servidor.
- Seguridad: Actuando como un escudo entre los clientes y los servidores backend, protegiendo contra ataques como DDoS (Denegación de Servicio Distribuido) y proporcionando un punto centralizado para implementar políticas de seguridad como control de acceso y reglas WAF.
Un proxy inverso no es lo mismo que una Red Privada Virtual (VPN). Si bien ambas tecnologías involucran servidores intermediarios, tienen propósitos diferentes. Un proxy inverso gestiona y optimiza el tráfico entre clientes y servidores backend, centrándose en la mejora del rendimiento y la seguridad de las aplicaciones del lado del servidor. Por el contrario, una VPN establece un túnel cifrado y seguro entre un dispositivo cliente y un servidor remoto, cifrando todo el tráfico que pasa a través de él para proteger la privacidad y garantizar la integridad de los datos.
A menudo se hace referencia a NGINX como proxy inverso porque destaca en el manejo de solicitudes entrantes de clientes y en su reenvío eficiente a servidores backend. Originalmente diseñado como un servidor web de alto rendimiento, NGINX ha evolucionado para incluir sólidas capacidades de proxy inverso. Es conocido por su capacidad para manejar grandes volúmenes de conexiones simultáneas, realizar equilibrio de carga entre servidores backend y gestionar la terminación SSL/TLS de forma eficaz. La arquitectura y las características de NGINX lo convierten en una opción popular para mejorar el rendimiento, la escalabilidad y la seguridad de aplicaciones y servicios web implementados en diversos entornos.