¿Qué es un proxy inverso (reverse proxy) y cómo funciona?

Rubén Castro, 14 septiembre 2023

Comienzan los Días Naranjas en PcComponentes. Hay un montón de artículos con descuentos impresionantes!!!

Ver mejores ofertas

Resumen rápido: qué es un Reverse Proxy o Proxy Inverso

Un servidor proxy normal es un servidor intermediario que reenvía las solicitudes de contenido de varios clientes a distintos servidores de Internet.

Y un servidor proxy inverso es un tipo de servidor proxy que normalmente se sitúa detrás del cortafuegos en una red privada y dirige las peticiones de los clientes al servidor apropiado. 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.

Entre los usos habituales de un servidor proxy inverso se incluyen:

  • Equilibrio de la carga: un servidor proxy inverso puede actuar como “policía del tráfico”, situándose delante de sus servidores backend y distribuyendo las peticiones de los clientes entre un grupo de servidores de forma que se maximice la velocidad y la utilización de la capacidad, al tiempo que se garantiza que ningún servidor esté sobrecargado, lo que puede degradar el rendimiento. Si un servidor se cae, el equilibrador de carga redirige el tráfico al resto de servidores en línea.
  • Aceleración web: los proxies inversos pueden comprimir los datos entrantes y salientes, así como almacenar en caché los contenidos más solicitados, lo que acelera el flujo de tráfico entre clientes y servidores. También pueden realizar tareas adicionales, como el cifrado SSL, para aliviar la carga de sus servidores web y aumentar así su rendimiento.
  • Seguridad y anonimato: Al interceptar las peticiones dirigidas a sus servidores backend, un servidor proxy inverso protege sus identidades y actúa como defensa adicional contra ataques de seguridad. También garantiza que se pueda acceder a varios servidores desde un único localizador de registros o URL, independientemente de la estructura de su red de área local.

¿Cómo se conecta un ordenador a una página web?

Internet no es más que un conjunto de ordenadores que se comunican entre sí. Incluso el sitio web al que te conectas es un ordenador con los datos del sitio web almacenados en su disco duro. Este ordenador se conoce como servidor, ya que proporciona a otros ordenadores el contenido que desean en Internet.

Por tanto, cuando abres un sitio web en tu ordenador, lo único que haces es comunicarte con otro ordenador conectado a Internet.

Dicho esto, para conectarte a un sitio web, t dispositivo necesita conocer la ubicación del servidor. Esta información se la proporciona a su dispositivo la dirección IP del servidor. Para obtener esta información, la URL de un sitio web se convierte en su dirección IP mediante la resolución DNS, intercambiando las letras de la URL por la dirección IP específica del sitio web.

Una vez que tu navegador tiene la dirección IP, envía peticiones utilizando el Protocolo Seguro de Transferencia de Hipertexto (HTTPS), y el servidor envía los datos a tu sistema.

Otra cosa que hay que entender sobre los servidores antes de entrar en los proxies es que los sitios web utilizan varios servidores en todo el mundo para distribuir su contenido. Además, en lugar de utilizar un único sistema informático para ejecutar todas las funciones del sitio web, las empresas utilizan una arquitectura de microservicios en la que distintas unidades informáticas realizan diferentes tareas. Debido a esto, un sitio web no puede verse como un único ordenador, sino como un conjunto de ordenadores que trabajan juntos para proporcionar contenidos a un cliente de la manera más rápida posible.

¿Qué es un proxy?

Un proxy es un dispositivo informático que se sitúa entre el servidor y el cliente (ordenador que realiza la solicitud). En pocas palabras, el proxy no es más que un intermediario entre tu ordenador y el sitio web. Pero ¿por qué es necesario este intermediario?

Cuando visitas un sitio web, el ordenador al que te conectas recibe todos los datos sobre tu sistema. Estos datos incluyen tu dirección IP, los datos de las cookies y los detalles del hardware/software de tu sistema. El servidor solicita los datos mencionados para entender cómo debe mostrarse el sitio web en su ordenador. Aunque esta información es esencial para que los sitios web funcionen correctamente, permite a las empresas seguirnos en línea, eliminando nuestra privacidad. Para resolver este problema, se utilizan los proxies de redirección o forward proxy.

Como su nombre indica, un forward proxy es un dispositivo informático que recoge las peticiones del cliente y las envía al servidor. Debido a esta arquitectura, el servidor piensa que las peticiones las está haciendo el proxy, manteniendo tu privacidad intacta.

Dicho esto, existe otro tipo de proxy que trabaja en estrecha colaboración con el servidor, y es el conocido como proxy inverso.

¿Qué es un proxy inverso y cómo funciona?

Al igual que los forward proxies, los proxies inversos también resuelven un problema. Sin embargo, este problema se refiere a los servidores. En resumen, los proxies inversos funcionan exactamente al revés que los proxies directos.

Esencialmente, un proxy inverso recoge todas las peticiones realizadas al servidor. Una vez interceptadas, el proxy inverso envía las peticiones al servidor con los datos que está buscando. Gracias a ello, el proxy inverso puede gestionar el tráfico que llega a un sitio web.

Esta arquitectura de diseño resuelve un gran problema a la hora de distribuir contenidos. Por ejemplo, si un servidor recibe un número abrumador de peticiones en poco tiempo, no puede procesarlas y los clientes no pueden acceder al sitio web que buscan. Un proxy inverso resuelve este problema controlando el número de peticiones que se hacen al servidor e intentando equilibrarlas entre distintos servidores.

Ventajas de los proxies inversos

Además de gestionar las peticiones de distintos clientes, un proxy inverso ofrece varias ventajas.

  • Almacenamiento en caché: además de gestionar el tráfico recibido de los clientes, el proxy inverso puede utilizarse para almacenar datos solicitados con frecuencia. Debido a esto, el proxy puede enviar directamente los datos al usuario sin conectarse al servidor (desde su cache local), mejorando el rendimiento del sitio web.
  • Seguridad: cuando se instala un proxy inverso, es la primera entrada al sitio web. Como resultado, un atacante no puede acceder directamente a los servidores internos del sitio web. Además, los proxies inversos pueden utilizarse para defenderse de ataques DDoS. Para ello, el proxy inverso puede buscar la dirección IP del cliente que intenta realizar un ataque DDoS y bloquear su acceso al servidor.
  • Descifrado de datos más rápido: la mayoría de los sitios web en Internet utilizan HTTPS para transferir datos de forma segura. Debido a esto, todos los datos que llegan al servidor están cifrados. Por lo tanto, un servidor tiene que descifrar el tráfico recibido y servir los datos al cliente. Para resolver este problema, se pueden utilizar proxies inversos para descifrar los datos, reduciendo la carga del servidor.
  • Equilibrio global de la carga del servidor: sitios web populares como Netflix, Google y Amazon tienen servidores en todo el mundo. Por lo tanto, cuando un usuario hace una petición a estos sitios web, puede ser enrutada a cualquiera de sus servidores. Si la petición se envía a un servidor alejado del cliente, el tiempo de acceso al sitio web aumenta. Para resolver este problema, los proxies inversos dirigen las peticiones de los clientes a los servidores más cercanos para mejorar el rendimiento del sitio web.
  • Los proxies inversos aceleran Internet: un proxy inverso se sitúa entre el cliente y el servidor, ayudando a gestionar el tráfico de forma eficiente. Y no sólo eso, los proxies inversos mejoran la seguridad y fiabilidad que ofrece un servidor.

Rubén Castro

Redactor

Apasionado de explorar y diseccionar lo último en tecnología. Tengo mucha experiencia en el mundo de los ordenadores y el gaming, aunque también me gustan todos los tipos de gadgets.

Consentimiento