En redes informáticas como Internet , un proxy inverso es un tipo común de servidor proxy al que se puede acceder desde la red pública. Los sitios web grandes y las redes de entrega de contenido utilizan proxies inversos, junto con otras técnicas, para equilibrar la carga entre los servidores internos. Los proxies inversos pueden mantener un caché de contenido estático, lo que reduce aún más la carga en estos servidores internos y la red interna. También es común que los proxies inversos agreguen funciones como compresión o cifrado TLS al canal de comunicación entre el cliente y el proxy inverso. [1]
Los proxies inversos suelen ser propiedad del servicio web o están gestionados por él, y los clientes acceden a ellos desde la Internet pública. Por el contrario, un proxy de reenvío generalmente lo administra un cliente (o su empresa) que está restringido a una red interna privada, excepto que el cliente puede solicitar al proxy de reenvío que recupere recursos de la Internet pública en nombre del cliente.
Los servidores proxy inversos se implementan en servidores web populares de código abierto como Apache , Nginx y Caddy . Este software puede inspeccionar los encabezados HTTP, lo que, por ejemplo, le permite en una sola dirección IP transmitir solicitudes a diferentes servidores internos según el nombre de dominio de la solicitud HTTP. Algunos de los sitios web más grandes de Internet utilizan servidores proxy inversos dedicados, como el software de código abierto HAProxy y Squid . Los proveedores comerciales populares de servidores proxy inversos incluyen Cloudflare e Imperva .
Usos de proxies inversos
- Los proxies inversos pueden ocultar la existencia y las características de los servidores de origen .
- Las funciones de firewall de aplicaciones pueden proteger contra ataques comunes basados en la web, como un ataque de denegación de servicio (DoS) o ataques distribuidos de denegación de servicio (DDoS). Sin un proxy inverso, eliminar malware o iniciar eliminaciones , por ejemplo, puede resultar difícil.
- En el caso de sitios web seguros , es posible que un servidor web no realice el cifrado TLS por sí mismo, sino que descargue la tarea a un proxy inverso que puede estar equipado con hardware de aceleración TLS . (Consulte Proxy de terminación de TLS ).
- Un proxy inverso puede distribuir la carga de las solicitudes entrantes a varios servidores, y cada servidor admite su propia área de aplicación. En el caso de servidores web de proxy inverso , el proxy inverso puede tener que reescribir la URL en cada solicitud entrante para que coincida con la ubicación interna relevante del recurso solicitado.
- Un proxy inverso puede reducir la carga en sus servidores de origen almacenando en caché contenido estático y contenido dinámico , conocido como aceleración web . Los cachés de proxy de este tipo a menudo pueden satisfacer un número considerable de solicitudes de sitios web, lo que reduce en gran medida la carga en los servidores de origen.
- Un proxy inverso puede optimizar el contenido comprimiéndolo para acelerar los tiempos de carga.
- En una técnica llamada "alimentación con cuchara", [2] se puede producir una página generada dinámicamente de una vez y entregarla al proxy inverso, que luego puede devolverla al cliente poco a poco. El programa que genera la página no necesita permanecer abierto, liberando así recursos del servidor durante el tiempo posiblemente extendido que el cliente necesita para completar la transferencia.
- Los proxies inversos pueden operar siempre que sea necesario acceder a varios servidores web 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 con diferentes direcciones IP locales. El proxy inverso analiza cada solicitud entrante y la entrega al servidor correcto dentro de la red de área local .
- Los proxies inversos pueden realizar pruebas A / B y pruebas multivariadas sin colocar códigos o etiquetas JavaScript en las páginas.
- Un proxy inverso puede agregar autenticación de acceso HTTP básica a un servidor web que no tiene ninguna autenticación. [3]
Riesgos de los proxies inversos
Un proxy inverso HTTP / S puede leer y modificar todo el tráfico y las direcciones IP de los usuarios web que lo atraviesan. Para filtrar / almacenar en caché / comprimir o modificar de otro modo el tráfico, debe poder descifrar y volver a cifrar el tráfico HTTPS y, por lo tanto, poseer la clave privada correspondiente del certificado TLS. Por lo tanto, obviamente puede registrar todas las contraseñas que lo atraviesan o inyectar malware en los sitios web, y podría hacerlo si se ve comprometido o lo ejecuta una parte malintencionada. Los proxies inversos también son otro punto único de falla si no hay una forma obvia de acceder al servidor directamente.
El uso del proxy inverso de un tercero (por ejemplo , Cloudflare , Imperva) coloca toda la tríada de confidencialidad, integridad y disponibilidad en manos de dicho tercero.
Si un proxy inverso está al frente de muchos dominios diferentes, su interrupción (por ejemplo, por una configuración incorrecta o un ataque DDoS) podría derribar todos los dominios al frente. [4]
Ver también
- Traducción de Direcciones de Red
Referencias
- ^ "Servidores proxy y tunelización" . Documentos web de MDN . Consultado el 6 de diciembre de 2020 .
- ^ "Entrada de la wiki de squid-cache sobre" SpoonFeeding " " . Francesco Chemolli . Consultado el 9 de febrero de 2011 .
- ^ "¿Es posible agregar autenticación de acceso HTTP básica a través de HAProxy?" . serverfault.com .
- ^ "La interrupción de Cloudflare destruye los principales sitios y servicios, incluido Discord" . finance.yahoo.com . Consultado el 14 de diciembre de 2020 .