Pregunta

Estoy intentando configurar un proxy de almacenamiento en caché inverso para la publicación de gráficos de anuncios (gif, jpg, swf). El proxy funciona bien y envía la solicitud al servidor de origen, pero parece que no puedo entender por qué el contenido no se está almacenando en caché. Mi configuración actual está abajo. El objetivo es almacenar en caché todas las solicitudes que coinciden con el prefijo / ca / ??URI. El servidor de origen está sirviendo los archivos con URL limpias, sin extensiones de archivo, Cache-control max-age = 1 semana establecida en los encabezados del servidor de origen.

ProxyRequests Off
<Proxy *>
 Order deny,allow
 Allow from all
</Proxy>
<IfModule mod_disk_cache.c>
 CacheEnable disk /
 CacheRoot "/var/cache/mod_proxy"
 CacheDirLevels 3
 CacheDirLength 5
 CacheIgnoreCacheControl On 
</IfModule>

RewriteCond %{REQUEST_URI} ^/ca/*
RewriteRule ^/(.*)$ http://origin.webserver.com/$1 [P,L]

Actualmente, el único almacenamiento en caché que he visto en realidad es el de los archivos locales a los que se accede en los servidores proxy, estoy buscando lo que me falta para obtener el contenido obtenido del servidor de origen para almacenar en caché.

Me pregunto si tiene que ver con que mod_cache no se almacene en caché porque el contenido se obtiene del servidor de origen y no de una ubicación en el disco. Buscando una manera de forzar que todas las solicitudes que coincidan con ese prefijo se almacenen en caché.

¡Gracias!

p.s. - parece que estoy teniendo este problema exacto: http://mail-archives.apache.org/mod_mbox/httpd-users/200901.mbox/%3C497F6ED3.7080606@gmail.com%3E . Verificará mis permisos y revisare los mensajes de depuración ...

¿Fue útil?

Solución

Agregar estas directivas pareció acelerar el mecanismo de caché. Supongo que tiene que ver con los encabezados de vencimiento y control de caché enviados desde el servidor de origen, ya que estoy sirviendo imágenes con Symfony / PHP5 en lugar de directamente desde el sistema de archivos.

<IfModule mod_disk_cache.c>
    CacheEnable disk /
    CacheRoot "/var/cache/mod_proxy"
    CacheDirLevels 3
    CacheDirLength 5
    CacheIgnoreCacheControl On
    CacheMaxFileSize 100000000
    CacheIgnoreNoLastMod On
    CacheMaxExpire 1209600
    CacheIgnoreQueryString On
</IfModule>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top