Se utiliza un proxy inverso para proporcionar servicios de equilibrio de carga y, cada vez más, para reforzar la seguridad de las aplicação web en puntos de inserción estratégicos en una red a través de firewalls de aplicação web, firewalls de entrega de aplicação e inspección profunda de contenido.

¿Qué es un proxy inverso?

En redes y tráfico web, un proxy es un dispositivo o servidor que actúa en nombre de otros dispositivos. Se encuentra entre dos entidades y realiza un servicio. Los proxies son soluciones de hardware o software que se ubican entre el cliente y el servidor para gestionar las solicitudes y, a veces, las respuestas.

Por lo general, un servidor proxy inverso se sitúa delante de los servidores web y reenvía las solicitudes de los clientes (por ejemplo, el navegador web) a esos servidores web. Los recursos solicitados se devuelven entonces al cliente, y parece como si se hubieran originado en el propio servidor proxy. Esto proporciona un nivel adicional de abstracción y control para asegurar el flujo fluido del tráfico de la red entre los clientes y los servidores. Un proxy inverso también proporciona la capacidad de dirigir las solicitudes en base a una amplia variedad de parámetros, como el dispositivo del usuario, la ubicación, las condiciones de la red, el estado de la aplicación e incluso la hora del día.

¿Cuál es la diferencia entre un proxy inverso y un balanceador de carga?

Los servidores proxy inversos y los balanceadores de carga son componentes de una arquitectura informática cliente-servidor. Ambos actúan como intermediarios en la comunicación entre los clientes y los servidores, realizando funciones que mejoran la eficiencia. Se pueden implementar como dispositivos dedicados y diseñados específicamente para un propósito específico, pero cada vez más, en las arquitecturas web modernas, son aplicações de software que se ejecutan en hardware básico. Si bien parecen realizar funciones similares, exploremos cuándo y por qué normalmente se implementan en un sitio web.

Un balanceador de carga distribuye las solicitudes entrantes de los clientes entre un grupo de servidores para garantizar una velocidad satisfactoria y un funcionamiento optimizado. Los balanceadores de carga se implementan con mayor frecuencia cuando un sitio necesita varios servidores porque el volumen de solicitudes es demasiado grande para que un solo servidor lo maneje de manera eficiente. La implementación de varios servidores también elimina un único punto de falla, lo que hace que el sitio web sea más confiable. Lo más común es que todos los servidores alojen el mismo contenido y el trabajo del balanceador de carga es distribuir la carga de trabajo de manera tal que se aproveche al máximo la capacidad de cada servidor, se evite la sobrecarga en cualquier servidor y se obtenga la respuesta más rápida posible al cliente.

Un proxy inverso acepta una solicitud de un cliente, la reenvía a un servidor que puede cumplirla y devuelve la respuesta del servidor al cliente. Si bien implementar un balanceador de carga solo tiene sentido cuando se tienen varios servidores, a menudo tiene sentido implementar un proxy inverso incluso con un solo servidor web o servidor de aplicação . Puedes pensar en el proxy inverso como la “cara pública” de un sitio web. Su dirección es la anunciada para el sitio web y se encuentra en el borde de la red del sitio para aceptar solicitudes de navegadores web y aplicaciones móviles para el contenido alojado en el sitio web. Un proxy inverso proporciona un nivel adicional de abstracción y control para garantizar el flujo fluido del tráfico de red entre clientes y servidores. El proxy inverso proporciona:

  • Mayor seguridad. Ninguna información sobre sus servidores backend es visible fuera de su red interna, por lo que los clientes maliciosos no pueden acceder a ellos directamente para explotar cualquier vulnerabilidad. Muchos servidores proxy inversos incluyen funciones que ayudan a proteger a los servidores backend de ataques de denegación de servicio distribuido (DDoS), por ejemplo, rechazando el tráfico de direcciones IP de clientes particulares (listas de denegación) o limitando la cantidad de conexiones aceptadas de cada cliente.
  • Mayor escalabilidad y flexibilidad. Dado que los clientes solo ven la dirección IP del proxy inverso, usted tiene la libertad de cambiar la configuración de su infraestructura de backend. Esto es particularmente útil en un entorno de equilibrio de carga, donde se puede aumentar o disminuir la cantidad de servidores para adaptarse a las fluctuaciones en el volumen de tráfico.
  • Aceleración web. Los servidores proxy inversos pueden reducir el tiempo que lleva generar una respuesta y devolverla al cliente para mejorar el rendimiento a través de técnicas como la aceleración SSL , la compresión inteligente y el almacenamiento en caché. Los servidores proxy inversos también habilitan servicios de seguridad federados para múltiples aplicações al reforzar la seguridad de las aplicação web.
¿Por qué es importante un proxy inverso?

Un proxy inverso se utiliza para proporcionar servicios de equilibrio de carga para proporcionar experiencias web más fluidas y, cada vez más, para reforzar la seguridad de las aplicaciones web en puntos estratégicos de inserción de una red mediante cortafuegos de aplicaciones web, cortafuegos de entrega de aplicaciones e inspección profunda del contenido.

Cuando se combina con implementaciones de nube, un proxy inverso puede permitir la explosión de una explosión de la nube y arquitecturas de división de aplicaciones para obtener las ventajas económicas de la nube sin disminuir el control y la seguridad.

¿Cómo funciona un proxy inverso?

Un proxy inverso puede actuar como un simple servicio de reenvío o participar activamente en el intercambio entre el cliente y el servidor. Cuando el proxy trata al cliente y al servidor como entidades independientes mediante la implementación de pilas de red duales, se denomina proxy completo.

Un proxy completo crea una conexión de cliente TCP junto con una conexión de servidor TCP independiente con un pequeño hueco en medio. El cliente se conecta al proxy en un extremo y el proxy establece una conexión separada e independiente con el servidor. Esta conexión es bidireccional en ambos lados. Nunca se da la mezcla de conexiones del lado del cliente al lado del servidor ya que las conexiones son independientes.

¿Cómo gestiona F5 las funciones de un proxy inverso?

La función de un proxy inverso puede realizarla un dispositivo, un software o un servicio, dependiendo de la complejidad del entorno y las necesidades de la organización.

Entornos nativos de la nube

Ideal para entornos nativos de la nube, NGINX Plus es un proxy inverso basado en software que realiza el equilibrio de carga, el enrutamiento de capa 7 y la optimización del rendimiento de la web, de forma similar a un dispositivo de hardware. NGINX Plus también ayuda a mejorar el rendimiento, la confiabilidad, la seguridad y la escala del sitio web. NGINX Plus es mucho menos costosa que las soluciones basadas en hardware con capacidades similares. Las capacidades integrales de equilibrio de carga y proxy inverso de NGINX Plus le permiten construir una red de distribución de aplicação altamente optimizada. NGINX Plus se puede implementar en la nube pública y en centros de datos privados a un costo menor que un proxy completo.

Entornos híbridos

Para entornos más complejos e híbridos, el sistema F5 BIG-IP es un proxy completo que puede implementarse como un servidor proxy inverso completo capaz de interceptar, inspeccionar e interactuar con solicitudes y respuestas. Esto incluye las funciones básicas de equilibrio de carga y optimización del rendimiento de la web, así como servicios de gestión de tráfico más avanzados, como seguridad de la capa de aplicação , aceleración web , enrutamiento de páginas y acceso remoto seguro .