Apache2 como cache proxy

Pablo E. Siciliano psiciliano en puentenet.com
Lun Oct 18 14:10:21 CLST 2004


Hola a todos/as:

Tengo un Tomcat 4.1.30 generando páginas de extensión .ehtml, funcionando en
el puerto 8080, y quiero usar Apache 2 como proxy reverso para cachear
dichas páginas y las imagenes de mi sitio. Estuve revisando la documentación
y los howto, y llegué a algo como esto en el httpd.conf:

#ProxyRemoteMatch "^/(.*)\.ehtml(.*)$" http://localhost:8080/$1\.ehtml
DocumentRoot "/usr/local/tomcat/webapps/cocoon/puentenet"
CacheRoot "/usr/local/apache/cache"
CacheSize 50000
#CacheEnable disk /(.*)\/(.*)\.ehtml
#CacheEnable disk /*/*.ehtml
CacheEnable disk /
CacheDirLevels 5
CacheDirLength 4
RewriteEngine On
RewriteRule "^/WEB-INF/?(.*)" "$0" [L,F,NC]
RewriteRule "^/(.*)\.gif$" "$0" [L]
RewriteRule "^/(.*)\.ehtml$" "http://localhost:8080/$1\.ehtml" [P]
RewriteRule "^/(.*)\.(jpg|jpeg)$" "$0" [L]
#RewriteRule "^/(.*)" "http://localhost:8080/$1" [P]
#ProxyPass / http://localhost:8080/
#ProxyPassReverse / http://localhost:8080/

El problema es que las imágenes, que son servidas directamente por Apache2
quedan cacheadas, pero no así las páginas que esta sirviendo Tomcat, las
cuales pasan por el proxy pero no quedan en /usr/local/apache/cache. Traté
con las reglas que estan arriba comentadas, pero no hubo caso, y no encontré
en la web un ejemplo que me ilustre demasiado, mas completo que el que esta
en la documentación. En particular, me queda la duda sobre la expresión de
la directiva CacheEnable, porque por mas que agregué una dirección en vez de
una expresión regular tampoco paso nada.

Agregué también al conector de Tomcat la propiedad proxyPort, pero otra vez
no influyó en nada.

Desde ya, mil gracias por cualquier sugerencia.

Pablo E. Siciliano.
Depto. Programación.
PuenteNet.com.




Más información sobre la lista de distribución Linux