Servidores Proxy

La finalidad de este apartado consiste en explicar como un navegador almacena y consulta las pginas de su cach y como lo hace un servido Proxy, de esta manera podemos presentar como modificar su comportamiento por defecto y averiguar posibles deficiencias. Antes de empezar se muestran algunas de las cabeceras del protocolo HTTP/1.1 que se suelen utilizar en Proxys y navegadores.

.Cabeceras del mensaje

Las siguientes cabeceras forman parte del protocolo HTTP/1.1 definidas en el RFC2616, salvo que se indique lo contrario.

Cache-Control

Permite indicar si un elemento puede ser cacheado y su caducidad.

ValorSignificado
publicIndica que la respuesta a una peticin puede ser ocultada (cacheada) tanto por clientes como por el Proxy.
privateIndica que la respuesta no se puede cachear por caches compartidas, es decir, solamente en teora podra cachearla un cliente.
no-cacheNo puede cachear el elemento ni el cliente ni el Proxy.
max-ageSegundos mximos que se considera un objeto no caducado desde que se realiz su peticin.
must-revalidateObliga a comparar con el servidor web antes de usar el cach.

Pragma

Corresponde al HTTP/1.0 pero por razones de compatibilidad actualmente se considera soportado aunque solo para peticiones. Su sintaxis es la misma que en Cache-Control.

Via

Usado por Proxys o gateways para indicar el protocolo intermedio entre el cliente y el servidor. Generalmente se suele aadir la maquina y la versin del software del Proxy.

ValorSignificado
OnMostrar informacin como el nombre de la mquina del Proxy.
OffNo aade informacin en la cabecera Via.
FullMostrar informacin como el nombre de la mquina y la versin del software.
BlockEliminar las lneas en que aparezca la cabecera Via.

Expires

Indica cuando caducar una respuesta dada por el servidor web. El formato de esta cabecera esta definido en el RFC850.

Ejemplo fecha sin caducar --> Sun, 17 Jan 2038 20:14:07 GMT

Ejemplo fecha caducada --> Wed, 26 Feb 2001 08:21:57 GMT

Last-Modified

Indica en una respuesta cuando el servidor considera que se modific por ltima vez la pgina o objeto que proporciona. Si la cabecera Expires no est presente, se toma este valor para determinar la caducidad. Cada Proxy y navegador utiliza su criterio, pero un ejemplo consistira en que si tenemos un objeto en el cach desde hace 10 das y cuando se introdujo se saba que haba sido modificado 150 das antes, es lgico considerar que todava no se habr modificado.

X-Cache

Esta cabecera no pertenece a ningn estndar, la consideramos ya que servidores Proxy como Apache o Squid la aaden para indicar si la pgina ha sido cogida desde el cach o bien desde el servidor.

ValorSignificado
MISSLa pgina no se ha servido desde el cach.
HITLa pgina se ha servido desde el cach.

.Fichero de auto-configuracin para navegadores

El fichero de auto-configuracin permite indicar a los navegadores que Proxy deben utilizar para realizar sus peticiones, de esta manera evitamos que el usuario sea el encargado de configurar manualmente su conexin a Internet.

El hecho de utilizar un fichero ya configurado permite adems, modificar el puerto y las IP's de los servidores Proxy sin tener que volver a re-configurar todos los navegadores.

.Creacin del fichero

Para que el fichero pueda ser accesible desde cualquier navegador, podemos almacenarlo en un servidor web, en un directorio de red o en un servidor FTP, a continuacin se muestran los pasos para que el navegador pueda acceder a este fichero mediante Apache Web Server.

  1. Aadir la siguiente lnea en el fichero /etc/mime.types que utiliza Apache Web Server para indicar al navegador (mediante la cabecera Content-Type), que tipo de fichero est recibiendo.
    application/x-ns-proxy-autoconfig pac

    De esta manera indicamos que todos los ficheros .pac que sirve Apache se interpreten como ficheros de auto-configuracin.

  2. Aadir las siguientes lneas en httpd.conf para que se pueda acceder al fichero de auto-configuracin mediante por ejemplo: http://host/proxy/proxy.pac
    Alias /proxy/ /ruta/del/fichero/
    <Directory /ruta/del/fichero>
      Options None
      AllowOverride None
      Order allow,deny
      Allow from all
    </Directory>
  3. Creamos el fichero proxy.pac con permisos de lectura para todos.
    touch /ruta/del/fichero/proxy.pac 
    chmod 644 /ruta/del/fichero/proxy.pac

.Configuracin del fichero

El fichero proxy.pac que hemos creado en la seccin anterior debe de ser escrito en JavaScript y presentar como "main" la funcin FindProxyForURL(url, host), la cual recibe del navegador los dos argumentos especificados y devuelve a ste un valor que le indica como debe de actuar, los valores de retorno posibles se describen a continuacin.

DIRECT
Indica al navegador que se conecte sin utilizar ningn Proxy.
PROXY host:port
Permite indicar al navegador la IP y el puerto del Proxy.

Ejemplo

return "PROXY 192.168.0.87:3128";

A continuacin, presentamos un ejemplo del cdigo que debe de tener el fichero de auto-configuracin para que sea interpretado por los navegadores.

function FindProxyForURL(url, host)
{
<!-- Establecemos No Proxy for: -->
if (shExpMatch(url, "*.tu-dominio.org"))
  return "DIRECT";
<!-- Una red utiliza un Proxy -->
else if (isInNet(myIpAddress(), "192.168.0.0", "255.255.255.0"))
  return "PROXY 192.168.0.87:3128";
<!-- El resto utiliza otro Proxy -->
else
  return "PROXY 192.168.0.87:8087";
}

.Configuracin de los clientes

El cdigo del fichero de auto-configuracin que hemos presentado es vlido para navegadores como Mozilla y Netscape, donde funciona correctamente.

  1. Seleccionar en el men de Mozilla y Netscape: Edit - Preferences - Advanced - Proxies

    En caso de Internet Explorer seleccionar: Herramientas - Opciones de Internet - Conexiones - Configuracin de LAN

  2. Introducir la siguiente lnea en la opcin:

    Automatic proxy configuration URL --> En Mozilla y Netscape

    Usar secuencia de comandos de configuracin automtica --> En Internet Explorer

    http://host/proxy/proxy.pac 
  3. Presionar la tecla Reload para activar los cambios en Mozilla y Netscape o reiniciar el navegador para que se lea el fichero en caso de Internet Explorer.

COMPARTE ESTE ARTÍCULO

ENVIAR A UN AMIGO
COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN GOOGLE +
SIGUIENTE ARTÍCULO

¡SÉ EL PRIMERO EN COMENTAR!
Conéctate o Regístrate para dejar tu comentario.