Al navegar por las diferentes redes de Internet, los servidores proxy y los túneles HTTP están facilitando el acceso a los contenidos de la World Wide Web. Un proxy puede estar en la computadora local del usuario o en cualquier lugar entre la computadora del usuario y un servidor de destino en Internet. Esta página describe algunos conceptos básicos sobre proxies y presenta algunas opciones de configuración.

Hay dos tipos de proxy: reenviar proxies (o túnel, o puerta de enlace) y servidores proxy inversos (utilizado para controlar y proteger el acceso a un servidor para el equilibrio de carga, la autenticación, el descifrado o el almacenamiento en caché).

Reenviar proxies

Un proxy de reenvío, una puerta de enlace o simplemente un “proxy” proporciona servicios de proxy a un cliente o grupo de clientes. Es probable que haya cientos de miles de proxies de reenvío abiertos en Internet. Almacenan y reenvían servicios de Internet (como DNS o páginas web) para reducir y controlar el ancho de banda utilizado por el grupo.

Los proxies de reenvío también pueden ser proxies anónimos y permitir a los usuarios ocultar su dirección IP mientras navegan por la Web o utilizan otros servicios de Internet. COLINA (The Onion Router), enruta el tráfico de Internet a través de múltiples servidores proxy para el anonimato.

Proxies inversos

Como su nombre lo indica, un proxy inverso hace lo contrario de lo que hace un proxy de reenvío: un proxy de reenvío actúa en nombre de los clientes (o hosts solicitantes). Los proxies directos pueden ocultar las identidades de los clientes, mientras que los proxies inversos pueden ocultar las identidades de los servidores. Los proxies inversos tienen varios casos de uso, algunos son:

  • Equilibrio de carga: distribuir la carga a varios servidores web,
  • Cache static contenido: descarga los servidores web mediante el almacenamiento en caché static contenido como imágenes,
  • Compresión: comprima y optimice el contenido para acelerar el tiempo de carga.

Reenvío de información de clientes a través de proxies

Los servidores proxy pueden hacer que las solicitudes aparezcan como si se hubieran originado en la dirección IP del servidor proxy. Esto puede ser útil si se usa un proxy para brindar anonimato al cliente, pero en otros casos se pierde la información de la solicitud original. La dirección IP del cliente original se usa a menudo para la depuración, las estadísticas o la generación de contenido que depende de la ubicación. Una forma común de divulgar esta información es mediante los siguientes encabezados HTTP:

El encabezado estandarizado:

Forwarded
Contiene información del lado del cliente de los servidores proxy que se altera o se pierde cuando un proxy está involucrado en la ruta de la solicitud.

O las versiones estándar de facto:

X-Forwarded-For
Identifica las direcciones IP de origen de un cliente que se conecta a un servidor web a través de un proxy HTTP o un balanceador de carga.
X-Forwarded-Host
Identifica el host original solicitado que un cliente usó para conectarse a su proxy o balanceador de carga.
X-Forwarded-Proto
identifica el protocolo (HTTP o HTTPS) que utilizó un cliente para conectarse a su proxy o balanceador de carga.

Para proporcionar información sobre el propio proxy (no sobre el cliente que se conecta a él), el Via Se puede usar el encabezado.

Via
Agregado por proxies, tanto directos como inversos, y puede aparecer en los encabezados de solicitud y en los encabezados de respuesta.

tunelización HTTP

La tunelización transmite datos de red privada e información de protocolo a través de la red pública encapsulando los datos. La tunelización HTTP utiliza un protocolo de nivel superior (HTTP) para transportar un protocolo de nivel inferior (TCP).

El protocolo HTTP especifica un método de solicitud llamado CONNECT. Inicia comunicaciones bidireccionales con el recurso solicitado y puede usarse para abrir un túnel. Así es como un cliente detrás de un proxy HTTP puede acceder a sitios web utilizando SSL (es decir, HTTPS, puerto 443). Tenga en cuenta, sin embargo, que no todos los servidores proxy admiten el CONNECT o limítelo al puerto 443 solamente.

Véase también el Artículo de túnel HTTP en Wikipedia.

Configuración automática de proxy (PAC)

Un archivo de configuración automática de proxy (PAC) es un JavaScript función que determina si las solicitudes del navegador web (HTTP, HTTPS y FTP) van directamente al destino o se reenvían a un servidor proxy web. La función JavaScript contenida en el archivo PAC define la función:

El archivo de configuración automática debe guardarse en un archivo con una .pac extensión de nombre de archivo:

proxy.pac

Y el tipo MIME establecido en:

application/x-ns-proxy-autoconfig

El archivo consta de una función llamada FindProxyForURL. El siguiente ejemplo funcionará en un entorno donde el servidor DNS interno está configurado para que solo pueda resolver nombres de host internos, y el objetivo es usar un proxy solo para hosts que no se pueden resolver:

functionFindProxyForURL(url, host)if(isResolvable(host))return"DIRECT";elsereturn"PROXY proxy.mydomain.com:8080";

Consulte Configuración automática de proxy (PAC) para obtener más ejemplos.

Ver también

© 2005–2020 Mozilla y colaboradores individuales.
Con licencia de Creative Commons Attribution-ShareAlike License v2.5 o posterior.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Proxy_servers_and_tunneling