ACM Crossroads Student Magazine
The ACM's First Electronic Publication
 
Crossroads Home
Descubra Crossroads

crossroads@acm.org


Acerca de Crossroads

Participe!

Ofrescanos un Articulo

Subscribase

Linkese!


Indice:
   Ediciones

   Artículos de Topic

   Columnas

   Criticas

   Para Estudiantes


Prensa

Su Privacidad


Crossroads in English
ACMCrossroads / Espanol / Xrds7-5 / 
This article was originally in English and can be found here.

Usando el Apache como Servidor Proxy con Cache

por Josiah Dykstra

Traducción: Luz Cummings


Fundamentales de un Servidor Proxy

El modelo estandard de servidor de web que la mayoría de los usuarios conocen, implica a un cliente haciendo un pedido directamente al servidor y este mandado respuesta directamente al cliente. Existen otros modelos, sin embargo, que ofrecen buenos efectos secundarios. Uno de estos modelos usa proxy, una máquina intermedia, colocada entre el servidor y el cliente(s). La figura numero 1 demuestra como funciona éste proceso. Los beneficios obtenidos gracias a esta máquina intermedia son varios.

Figure 1
Figura 1: Proxy Setup

Primero, el proxy puede combinarse con un firewall (pared de fuego), para proveerle seguridad a una red local(LAN). La exposicion de la red interna a hackers es menor porque los ordenadores no son directamente accesibles desde el otro lado del firewall. El proxy, sin embargo, asegura que los ordenadores puedan acceder la Internet.

Segundo, el proxy puede funcionar como filtrador de tráfico para paquetes de web. Porque toda la información pasa con el proxy antes de alcanzar al cliente, puede ser manipulada de maneras útiles. Por ejemplo, el proxy puede leer los paquetes de las peticiones entrantes del HTTP (el protocolo usado en el World Wide Web) y botar aquellos procedientes desde anfitriones predeterminados. Los administradores podrían utilizar esta opción para evitar que los clientes tengan acceso a sitios pornograficos (obscenos), por ejemplo. El proxy podría también reducir el número de comerciales desplegados en las páginas de web por medio de reconocer la etiqueta de imagen de servidores de anuncios conocidos, y filtrando la imagen antes de que alcance al cliente. Además, algunas configuraciones permiten el retiro de pop-up Windows (ventanitas pop-up) indeseadas.

Finalmente, el proxy puede pre-guardar documentos en la misma forma que los browsers del los usuarios finales hacen. El proxy puede disminuir grandemente el tiempo de acceso para todos los clientes. Guardando los documentos de varios usuarios, la memoria inmediata está disponible para que cada usuario tenga acceso. Entonces, en vez de solamente extraer documentos guardados localmente que tan sólo un usuario ha acumulado, cada usuario tiene acceso a todos los documentos de usuarios.

Encontrar informacíon útil en la Internet se ha convertido en uno de los majores obtaculos en la Internet de hoy en día. Una de las posibilidades que he empezado a investigar es usar las listas históricas (en los archivos de memoria) de páginas que los usuarios has visitado para construir un buscador. Investigando las copias locales de páginas que los usuarios han visitado, a lo mejor frequentemente, hay major posibilidad que un buscador pueda encontrar la información más util al usuario. Una posibilidad sería utilizar servidores proxy con guardilla (cache), los cuales los usuarios podrían instalar y configurar para comunicarse con una central de datos. Esta estrategia es radicalmente diferente a la tradicionalmente usada por los servidores proxy.

El Apache como Servidor Proxy

El servidor Apache es probablemente el mejor servidor de web corrientemente disponible[1]. Sus exitos pueden ser parcialmente atribuidos a su estabilidad y facilidad de configuración. Adicionalmente, el código es público y fácilmente disponible. Para nuestros propósitos, es una ventaja por su módulo de proxy [2]. La idea de módulos en el programa permite que cada instalación del programa incluya nada más aquellos servicios necesarios para su funcionamiento. Por ejemplo, el módulo para permitir CGI o autenticación puede ser incluído ó excluído. Apache puede funcionar en una variedad de plataformas, incluyendo Linux, Solaris y Windows.

Instalando el Servidor Proxy con Caching

Las instrucciones siguientes son para sistemas operativos de tipo Linux y UNIX. El primer paso es conseguir el código de fuente. Esto es necesario aún si usted ya ha instalado el Apache, porque es necesario recrear el .exe (recompile) con el módulo de proxy abilitado. El sitio oficial es en http://httpd.apache.org/. La versión Apache 1.3.20 o más nueva se recomienda. Como raíz, abra el archivo y comienze la instalación.

./configure --prefix=/usr/local/apache --enable-module=proxy
make
make install

Hay muchas mas opciones disponibles para configuración; escriba configure --help o fíjese en la Documentación del Projecto Linux [3] para más información. Assumiendo que no han habido errores en la recreación del nuevo .exe, Apache está ahora instalado. Un poco de configuración incial se necesita para la máquina empieze a ejecutar caching. Empieze por abrir el archivo(file) /usr/local/apache/conf/httpd.conf. La sección en la cuál estamos interesados es así:

#
#   ProxyRequests On

#   
#      Order deny,allow
#      Deny from all
#      Allow from .your_domain.com
#   

#   ProxyVia On

#   CacheRoot "/usr/local/apache/proxy"
#   CacheSize 5
#   CacheGcInterval 4
#   CacheMaxExpire 24
#   CacheLastModifiedFactor 0.1
#   CacheDefaultExpire 1
#   NoCache a_domain.com another_domain.edu joes.garage_sale.com

#

Necesitará activar (uncomment) las líneas que desea implementar, incluyendo las líneas del <IfModule>. Active el servidor proxy por medio activar la directiva de ProxyRequests. En orden de restringir el acceso a su proxy, active la sección de , en inserte su dominio donde se le señala. El proxy puede añadir HTTP por medio de un encabezado a cada petición con su propio nombre y número de versión de servidor (vea RFC2616 [4] para más información). Sin embargo, usted probablemente deseará desactivar esta ProxyVia opción para más privacidad y seguridad. Cada una de las siete directivas controlan como el servidor maneja caching (guardillas). Activando el CacheRoot activa caching en el servidor. Este directorio debe ser accesible por el usuario operando el servidor (usualmente "nadie"). El CacheSize determina el espacio a usar en kilobitios. Usted probablemente deseará asignar un número major que el original de 5, basado en el espacio disponible en su disco, para permiter que un número major de documentos sean almacenados localmente por los clientes. Colección de basura, la cual refuerza el tamaño del cache (guardilla), es determinada en horas por el CacheGcInterval. Si no se especifica, el tamaño del cache crecerá hasta agotar la memoria. CacheMaxExpire especifica el número máximo de horas que los documentos se guardarán sin chequear el servidor anfitrión. Si el servidor anfitrión no mandó una fecha de expiración para un documento, entonces el CacheLastModifiedFactor será usado para estimar una fecha, multiplicando el factor por el tiempo desde la última véz que el documento fué modificado. Si el protocolo usado para consequir el documento no apoya fechas de expiración (FTP, por ejemplo), la directiva CacheDefaultExpire especifica las horas hasta cuando expira. Una instalación muestra se ve así:


  ProxyRequests On

  
    Order deny,allow
    Deny from all
    Allow from .cs.hope.edu
  

  ProxyVia On

  CacheRoot "/usr/local/apache/proxy"
  CacheSize 102400
  CacheGcInterval 8
  CacheMaxExpire 168
  CacheLastModifiedFactor 0.1
  CacheDefaultExpire 72

Configurando Clientes

Ambos Netscape y el Internet Explorer pueden ser fácilmente configurados para usar un servidor de proxy. En Netscape, seleccione Preferencias bajo el menú de "Edit." Oprima "Advanced", entonces "Proxies" (Figura 3). Active "Manual proxy configuration" y oprima "View". Escriba el nombre de el servidor y el puerto en los espacios respectivos (Figura 4).

Figure 3 Figure 4
Figure 3: Configurando Netscape, paso 2
    Figure 4: Configurando Netscape, paso 3

En el Internet Explorer, seleccione Opciones de Internet del menú de herramientas (Tools). Oprima la lengueta de "Connections" y entonces "LAN Settings" (Figura 5). Escoja "Use a proxy server" y escriba el nombre del servidor y el número de puerto como se especifica (Figura 6).

Figure 5 Figure 
6
Figure 6: Configurndo IE, paso 3

Figure 5: Configurando IE, paso 2

Conclusiones

Hay muchas razones por las cuales una organización pudiera desear implementa un servidor de proxy. Seguridad en la red, control de contenido y navegado mas rápido en la web son algunos de los beneficios posibles. Adicionalmente, nuestras investigaciones podrían usar el cache de un proxy para personalizar indagaciones de Internet con contenido relevante. El servidor Apache es disponible y universalmente aceptado como un fuerte candidato para servidor de proxy; hemos demostrado su facilidad de instalación y configuración. Estudios continuos emplearán estas propiedades y añadirán otras en formas nuevas y sorprendentes.

Referencias

1
Apache module mod_proxy, Apache HTTP Server Project, <http://httpd.apache.org/docs/mod/mod_proxy.html> (10 May 2001).
2
Hypertext Transfer Protocol -- HTTP/1.1, The World Wide Web Consortium, June 1999, <http://www.w3.org/Protocols/rfc2616/rfc2616.html> (10 May 2001).
3
Linux WWW HOWTO: Apache, Linux Documentation Project, 8 May 2001, <http://www.linuxdoc.org/HOWTO/WWW-HOWTO-7.html> (10 May 2001).
4
Netcraft Web Server Survey, Netcraft, April 2001, <http://www.netcraft.com/survey/> (10 May 2001).

Biografía

Josiah Dykstra (dykstra@cs.hope.edu) es estudiante graduante con Bachiller Doble de Ciencias Computacionales y Música del Hope College en Hollanda, Michigan. Él es miembro del IEEE y corrientement está sirviendo su segundo término como Presidente del capítulo local de la ACM. Él ha completado internados de verano con Gateway, Inc. y la NSA y conducido investigaciones en el NSF Research Experience para estudiantes universitarios.


Last Modified: Thursday, 19-Jul-2001 19:30:49 EDT
Location: www.acm.org/crossroads/espanol/xrds7-5/proxy.html

© Copyright 2000-2001 by ACM, Inc.


 
19122