Un proxy inverso protege a los servidores web de los ataques, y puede proporcionar ventajas de rendimiento y fiabilidad. Más información sobre los proxys inversos y de reenvío.
Después de leer este artículo podrás:
Contenido relacionado
¿Qué es un centro de datos de CDN?
¿Qué es Anycast?
¿Qué es un Servidor de origen?
Control de caché
Seguridad SSL, TLS de la CDN
Suscríbase a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.
Copiar enlace del artículo
Un proxy inverso es un servidor que se sitúa delante de los servidores web y reenvía las solicitudes del cliente (por ejemplo, el navegador web) a esos servidores web. Los proxies inversos suelen implementarse para ayudar a aumentar la seguridad, el rendimiento y la fiabilidad. Para entender mejor cómo funciona un proxy inverso y las ventajas que puede aportar, definamos primero qué es un servidor proxy.
Un proxy de reenvío, con frecuencia conocido como proxy, servidor proxy o proxy web, es un servidor que se sitúa delante de un grupo de máquinas cliente. Cuando esos ordenadores realizan solicitudes a sitios y servicios en Internet, el servidor proxy intercepta esas peticiones y luego se comunica con los servidores web en nombre de esos clientes, como un intermediario.
Por ejemplo, nombraremos 3 ordenadores involucrados en una típica comunicación por proxy:
En una comunicación estándar de Internet, el ordenador A se comunicaría directamente con el ordenador C, y el cliente enviaría las solicitudes al servidor de origen, y el servidor de origen respondería al cliente. Cuando hay un proxy de reenvío, A enviará las solicitudes a B, que a su vez reenviará la solicitud a C. C enviará entonces una respuesta a B, que reenviará la respuesta a A.
¿Por qué alguien añadiría este intermediario adicional a su actividad en Internet? Hay varias razones por las alguien querría utilizar un proxy de reenvío:
Un proxy inverso es un servidor que se sitúa delante de uno o varios servidores web, e intercepta las solicitudes de los clientes. Esto es diferente de un proxy de reenvío, en el que el proxy se sitúa delante de los clientes. Con un proxy inverso, cuando los clientes envían solicitudes al servidor de origen de un sitio web, el servidor de proxy inverso intercepta esas solicitudes en el perímetro de la red. El servidor proxy inverso enviará entonces las solicitudes al servidor de origen y recibirá las respuestas del servidor de origen.
La diferencia entre un proxy de reenvío y uno inverso es sutil pero importante. Una forma simplificada de resumirla sería decir que un proxy de reenvío se sitúa delante de un cliente y se asegura de que ningún servidor de origen se comunique nunca directamente con ese cliente específico. Por otro lado, un proxy inverso se sitúa delante de un servidor de origen y se asegura de que ningún cliente se comunique nunca directamente con ese servidor de origen.
Una vez más, lo ejemplificaremos nombrando los ordenadores implicados:
Lo habitual es que todas las solicitudes de D vayan directamente a F, y F enviaría las respuestas directamente a D. Con un proxy inverso, todas las solicitudes de D irían directamente a E, y E enviaría sus solicitudes a F y recibiría las respuestas de F. E pasaría entonces las respuestas apropiadas a D.
A continuación, describiremos algunas de las ventajas de un proxy inverso:
Algunas empresas crean sus propios proxies inversos, pero esto requiere intensos recursos de ingeniería de software y hardware, así como una importante inversión en hardware físico. Una de las formas más fáciles y rentables de aprovechar todas las ventajas de un proxy inverso es contratar un servicio de CDN. Por ejemplo, la CDN de Cloudflare proporciona todas las funciones de rendimiento y seguridad mencionadas anteriormente, así como muchas otras.
Un proxy inverso es un servidor que se encuentra delante de uno o varios servidores web para interceptar y reenviar las solicitudes de los clientes. Actúa como intermediario, y garantiza que ningún cliente se comunique directamente con el servidor de origen.
Un proxy de reenvío se sitúa delante de los clientes (usuarios) para reenviar sus solicitudes a Internet. En cambio, un proxy inverso se sitúa delante de los servidores para gestionar el tráfico entrante de Internet.
[Imagen que compara la arquitectura del proxy de reenvío con la del proxy inverso]Para los sitios web con mucho tráfico, un proxy inverso puede actuar como un equilibrador de carga, al distribuir uniformemente las solicitudes entrantes en un grupo de varios servidores de origen. Esto evita la sobrecarga de un solo servidor y garantiza la disponibilidad del sitio, incluso si un servidor falla.
Al utilizar un proxy inverso, un sitio web nunca tiene que revelar la dirección IP real de sus servidores de origen. Esto dificulta considerablemente que los atacantes puedan lanzar ataques selectivos, como ataques DDoS, contra el origen. En su lugar, el proxy gestiona el tráfico y puede utilizar sus recursos especializados para defenderse de las ciberamenazas.
Un proxy inverso puede almacenar en caché, o guardar temporalmente, copias del contenido del sitio web en ubicaciones más cercanas a los usuarios. Por ejemplo, si un usuario de Chicago accede a un sitio alojado en Londres, un proxy inverso local en Chicago puede almacenar los datos. Los futuros visitantes de la misma zona pueden recibir el contenido directamente desde ese proxy local, lo que reduce considerablemente los tiempos de carga.
GSLB es una optimización del rendimiento en la que un proxy inverso dirige a los usuarios al servidor web específico que está geográficamente más cerca de ellos. Al minimizar la distancia física que deben recorrer los datos entre el cliente y el servidor, el proxy reduce la latencia y acelera la experiencia del usuario.
La encriptación y desencriptación de las comunicaciones SSL/TLS puede ser una tarea pesada para un servidor de origen. Un proxy inverso puede asumir esta responsabilidad, gestionando la desencriptación de las solicitudes entrantes y la encriptación de las respuestas salientes. Este proceso libera una valiosa capacidad de procesamiento para que el servidor de origen se pueda centrar en otras tareas.