Un proxy directo es un servidor proxy que envía las solicitudes de un cliente a sitios web en nombre del cliente, de modo que los sitios web ven la dirección IP del proxy en lugar de la del cliente. A menudo se le llama simplemente proxy. Los proxies residenciales, de datacenter, móviles y de ISP son todos proxies directos.
Cómo Funciona un Proxy Directo
- El cliente elige el proxy. El estándar HTTP (RFC 9110) define un proxy como un agente elegido por el cliente, generalmente a través de una configuración local como la configuración del navegador o del sistema, un archivo PAC o el código de un scraper.
- Las solicitudes HTTP simples llevan la URL completa. El cliente envía la dirección completa al proxy, por ejemplo
GET http://www.example.org/pub/WWW/TheProject.html HTTP/1.1, para que el proxy sepa a qué servidor contactar. - Las solicitudes HTTPS utilizan un túnel. El cliente envía
CONNECT host:443, y el proxy retransmite el tráfico cifrado como un relay ciego sin cambiar los mensajes. - El proxy devuelve la respuesta. El sitio web responde al proxy, y el proxy pasa la respuesta de vuelta al cliente.
Para Qué Se Utilizan los Proxies Directos
- Ocultar la dirección IP del cliente: MDN señala que los proxies directos pueden ser anónimos y permiten a los usuarios ocultar su dirección IP. Tor, por ejemplo, enruta el tráfico a través de múltiples proxies.
- Web scraping y rotación de IP: un script puede enviar cada sesión a través de un proxy diferente, que es la base de rotación de IP.
- Resultados específicos de ubicación: elegir un proxy en un país o ciudad determinados te permite ver lo que los usuarios allí ven, conocido como geo-targeting.
- Acceso a Internet para redes internas: la documentación de Apache describe cómo dar acceso a Internet a clientes internos que de otro modo estarían restringidos por un firewall.
- Caching: un proxy directo puede almacenar y reutilizar contenido para reducir el uso de ancho de banda para un grupo de usuarios.
Proxies Directos vs. Proxies Transparentes
- Proxy explícito: el cliente está configurado para usar el proxy y envía sus solicitudes directamente a él.
- Proxy transparente: el cliente no está configurado en absoluto. La red intercepta su tráfico y lo envía a través del proxy. La RFC 9110 llama a esto un proxy de interceptación y señala que no es elegido por el cliente.
Proxy Directo vs. Proxy Inverso
| Proxy directo | Proxy inverso | |
|---|---|---|
| Actúa para | El cliente | El servidor |
| Configurado por | El usuario o la aplicación del cliente | El operador del sitio |
| Configuración del cliente | Requerida (a menos que sea transparente) | Ninguna |
| Oculta | La identidad del cliente de los servidores | Las identidades de los servidores de los clientes |
Un proxy inverso funciona en la otra dirección: recibe solicitudes en nombre de los propios servidores del sitio.
Consideraciones de Seguridad
- Proxies abiertos: La documentación de Apache advierte que un proxy directo permite a los clientes acceder a sitios arbitrarios a través de tu servidor y ocultar su verdadero origen, por lo que solo los clientes autorizados deben poder usarlo. MDN señala que probablemente hay cientos de miles de proxies directos abiertos en Internet.
- Lo que el operador puede ver: el proxy puede leer y modificar el tráfico HTTP simple. El tráfico HTTPS en un túnel CONNECT permanece cifrado a menos que el proxy esté configurado para interceptar TLS.