Reverse Proxy

A reverse proxy is a server that sits in front of one or more web servers, intercepting requests from clients and forwarding them to the appropriate backend ser...

Un reverse proxy es un servidor que se sitúa delante de uno o más web servers, interceptando las peticiones de los clientes. En lugar de que los clientes se conecten directamente al web server, se conectan al reverse proxy. El reverse proxy reenvía entonces la petición del cliente al web server apropiado. La respuesta del web server se envía de vuelta al reverse proxy, que luego la reenvía al cliente. Esta configuración proporciona varios beneficios. En primer lugar, mejora la seguridad al ocultar la identidad y las características de los origin web servers, actuando como un escudo contra ataques directos. En segundo lugar, puede mejorar el rendimiento mediante el caching de contenido estático, el load balancing de peticiones a través de múltiples backend servers para evitar que un solo servidor se sobrecargue, y la encriptación/desencriptación SSL, descargando esta tarea computacionalmente intensiva de los web servers. En tercer lugar, facilita una gestión más sencilla de las web applications, permitiendo el logging centralizado, la reescritura de URLs y la implementación de un único punto de acceso para múltiples servicios. Los reverse proxies son componentes esenciales en la infraestructura web moderna, contribuyendo a la escalabilidad, seguridad y fiabilidad.

        graph LR
  Center["Reverse Proxy"]:::main
  Rel_nginx["nginx"]:::related -.-> Center
  click Rel_nginx "/terms/nginx"
  Rel_api_gateway["api-gateway"]:::related -.-> Center
  click Rel_api_gateway "/terms/api-gateway"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 Prueba de conocimiento

1 / 1

🧒 Explícalo como si tuviera 5 años

Imagina un recepcionista en un gran edificio de oficinas. En lugar de que todos vayan directamente a diferentes oficinas, hablan primero con el recepcionista, quien luego los dirige al lugar correcto y maneja algunas tareas básicas, manteniendo las oficinas funcionando sin problemas y de forma segura.

🤓 Expert Deep Dive

Reverse proxies operate at the application layer (Layer 7) of the OSI model, enabling sophisticated traffic management based on HTTP headers, URLs, and other application-level data. Key functionalities include load balancing algorithms (e.g., round-robin, least connections, IP hash), SSL termination/offloading, request/response manipulation (e.g., header injection/stripping, URL rewriting), caching strategies (e.g., HTTP caching, object caching), and security enforcement (e.g., WAF integration, rate limiting). Architecturally, they can be deployed as standalone appliances, software (like Nginx, HAProxy, Apache httpd), or integrated into cloud provider services (e.g., AWS ELB, Azure Application Gateway). The choice of implementation involves trade-offs between performance, flexibility, cost, and operational complexity. Potential bottlenecks can arise if the reverse proxy itself becomes overwhelmed, necessitating horizontal scaling or performance tuning. Advanced configurations might involve multiple layers of reverse proxies for complex routing or security policies.

📚 Fuentes