En redes de computadoras, un proxy inverso es un tipo de servidor proxy que recupera recursos en nombre de un cliente externo, desde uno o más servidores internos. Estos recursos se devuelven al cliente como si se originaran en el propio servidor Web.[1]​ Contrariamente a un proxy forward, que es un intermediario para que sus clientes asociados se pongan en contacto con cualquier servidor, un proxy inverso es un intermediario para que sus servidores asociados sean contactados por cualquier cliente.

A proxy server connecting the Internet to an internal network.
Un proxy inverso que toma solicitudes de Internet y las envía a servidores en una red interna. Aquellos que hacen peticiones al proxy pueden no estar al tanto de la red interna.

Muy a menudo, los servidores web populares utilizan funcionalidad de proxy inverso, protegiendo los framework de aplicación de las debilidades de seguridad de HTTP.

Usos de proxies inversos editar

  • Los proxies inversos pueden esconder la existencia y características de un servidor de origen o servidores.
  • Las funciones de firewall de aplicaciones pueden proteger contra ataques comunes basados en Web, como DoS o DDoS. Sin un proxy inverso, por ejemplo, puede resultar difícil eliminar malware.
  • En el caso de sitios web seguros, un servidor de web puede no ejecutar la encriptación SSL por sí mismo, sino que encarga esta tarea a un proxy inverso que puede estar equipado con hardware de aceleración SSL. (Ver TLS termination proxy.)
  • Un proxy inverso puede distribuir la carga de solicitudes entrantes a varios servidores, con cada servidor ejecutando su propia área de aplicación. En el caso de proxy inverso en la granja de servidores de web, el proxy inverso puede tener que reescribir el URL de cada petición entrante para que coincida con la ubicación interna del recurso solicitado.
  • Un proxy inverso puede reducir carga de sus servidores de origen mediante el uso de caché web de contenido estático, así como contenido dinámico - sinónimo: aceleración web. Los cachés de proxy[2]​ de este tipo a menudo pueden satisfacer un número considerable de peticiones de sitios web, reduciendo enormemente la carga en el servidor de origen. Siempre que sea algo legal.
  • Un proxy inverso puede optimizar el contenido comprimiéndolo para acelerar los tiempos de carga.
  • En una técnica llamada "spoon-feed".[3]​ se puede producir una página generada dinámicamente de una sola vez y servirla al proxy inverso, el cual puede devolverla al cliente poco a poco. El programa que genera la página no necesita permanecer abierto, liberando recursos del servidor durante el tiempo extendido que el cliente requiere para completar la transferencia.
  • Los proxies inversos pueden operar dondequiera que múltiples servidores web deban ser accesibles a través de una única dirección IP pública. Los servidores web escuchan en diferentes puertos en la misma máquina, con la misma dirección IP local o, posiblemente, en diferentes máquinas y diferentes direcciones IP locales. El proxy inverso analiza cada solicitud entrante y la envía al servidor correcto dentro de la red de área local.
  • Los proxies inversos pueden realizar pruebas A/B y pruebas multivariadas sin colocar etiquetas o código JavaScript en las páginas.
  • Un proxy inverso puede agregar autenticación de acceso HTTP básico a un servidor web que no tenga ninguna autenticación.[4]

Véase también editar

Referencias editar

  1. «Forward and reverse proxies». The Apache Software Foundation. Consultado el 9 de febrero de 2011. 
  2. «How does proxy server work?». 
  3. «squid-cache wiki entry on "SpoonFeeding"». Francesco Chemolli. Archivado desde el original el 25 de enero de 2019. Consultado el 9 de febrero de 2011. 
  4. «Possible to add basic HTTP access authentication via HAProxy?». serverfault.com.