2009-06-17 20 views
7

Reklam grafikleri (gif, jpg, swf) sunumu için bir ters önbelleğe alma proxy'si kurmaya çalışıyorum. Yetkilendirme düzgün çalışıyor ve isteği sunucuya gönderiliyor ancak içeriğin neden önbelleğe alınmadığını anlayamıyorum. Mevcut yapılandırmam aşağıda. Amaç,/ca/​​URI önekiyle eşleşen tüm istekleri önbelleğe almaktır. Köklü sunucu, dosyaları temiz URL'lere, dosya uzantılarına, Önbellek denetimi maks. Yaş = Kök sunucu üstbilgilerinde 1 haftaya ayarlayarak sunmaya devam eder. ŞuApache Önbelleğe Alma Proxy'sini Tersine Çevirme - neden önbelleğe almıyor?

 
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] 

, gerçekleşmesini aslında gördüğüm tek önbelleğe alma proxy sunucuları üzerinde erişilen yerel dosyaların, ben önbelleğe alınması ne ben kökenli sunucudan alınan içeriği almak için kaçırıyorum arıyorum olmasıdır .

İçerik önbellek sunucusundan getirilmediğinden ve diskteki bir konumdan kaynaklanmadığından mod_cache ile önbelleğe alma işleminin yapılıp yapılmadığını merak ediyorum. Önbelleğe alınacak bu önekle eşleşen tüm istekleri zorlamak için bir yol aramak.

Teşekkürler!

p.s. - Bu tam sorunu yaşıyorum gibi görünüyor: http://mail-archives.apache.org/mod_mbox/httpd-users/200901.mbox/%[email protected]%3E. İzinlerimi kontrol edip hata ayıklama hatalarını giderir ...

cevap

10

Bu yönergelerin eklenmesi, önbellek mekanizmasını donatacak gibi görünüyordu. Symfony/PHP5 ile doğrudan dosya sisteminden görüntü oluşturduğumdan, kaynak sunucudan gönderilen son kullanma ve önbellek denetimi başlıklarıyla ilgili olduğunu düşünüyorum.

 
<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> 
+1

Mükemmel !, ama bir veritabanından örneğin statik içerik sunmak için bir sunucu uygulamasını kullanıyorsanız, çizgi #CacheIgnoreQueryString On açıklama –