Question

Je tente de configurer un proxy de mise en cache inversée pour la diffusion d'images publicitaires (gif, jpg, swf). Le proxy fonctionne bien et envoie la demande au serveur d'origine, mais je n'arrive pas à comprendre pourquoi le contenu n'est pas mis en cache. Ma configuration actuelle est ci-dessous. L'objectif est de mettre en cache toutes les demandes qui correspondent au préfixe / ca / ??URI. Le serveur d'origine sert les fichiers avec des URL propres, sans extension de fichier. Cache-control max-age = 1 semaine définie sur les en-têtes du serveur d'origine.

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]

Actuellement, la seule mise en cache que j'ai jamais vue est celle des fichiers locaux accédés sur les serveurs proxy. Je cherche ce qui me manque pour que le contenu extrait du serveur d'origine soit mis en cache.

Je me demande s'il ne s'agit pas de la mise en cache de mod_cache, car le contenu est extrait du serveur d'origine et non d'un emplacement sur le disque. Vous recherchez un moyen de forcer la mise en cache de toutes les demandes correspondant à ce préfixe.

Merci!

p.s. - on dirait que j'ai exactement le même problème: http://mail-archives.apache.org/mod_mbox/httpd-users/200901.mbox/%3C497F6ED3.7080606@gmail.com%3E . Sera vérifier mes autorisations et aller sur les messages de débogage ...

Était-ce utile?

La solution

L'ajout de ces directives a semblé donner le coup d'envoi au mécanisme de cache. Je suppose que cela a à voir avec les en-têtes d'expiration et de contrôle du cache envoyés par le serveur d'origine, car je diffuse des images avec Symfony / PHP5 plutôt que directement depuis le système de fichiers.

<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>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top