2009-06-17 16 views
7

Ja próbuje skonfigurować serwer proxy odwrotnej buforowania dla grafik reklamowych (GIF, JPG, SWF) obsługujących. Serwer proxy działa poprawnie i wysyła żądanie do serwera źródłowego, ale nie mogę się domyślić, dlaczego zawartość nie jest buforowana. Moja aktualna konfiguracja znajduje się poniżej. Celem jest buforowanie wszystkich żądań pasujących do przedrostka/ca/​​URI. Serwer pochodzenie służy pliki z czystych adresów URL, bez rozszerzeń plików, max-age Cache-control = 1 tygodnia ustawiony na nagłówki serwera pochodzenia.Serwer proxy odwrotnej Apache - dlaczego nie buforuje?

 
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] 

Obecnie jedynym buforowanie widziałem faktycznie zdarzyć, że z lokalnych plików dostępnych na serwerach proxy, szukam co mi brakuje, aby uzyskać zawartości pobrane z serwera pochodzenia mają być buforowane .

Zastanawiam się, czy ma do czynienia z mod_cache nie buforowanie, ponieważ zawartość pobierana jest z serwera pochodzenia, a nie miejsce na dysku. Poszukuje sposobu na wymuszenie buforowania wszystkich żądań pasujących do tego prefiksu.

Dzięki!

p.s. - Wygląda na to, mam dokładnie ten problem: http://mail-archives.apache.org/mod_mbox/httpd-users/200901.mbox/%[email protected]%3E. Będzie sprawdzenie moich uprawnień i przejść nad wiad debugowania ...

Odpowiedz

10

Dodanie tych dyrektyw wydawało kopać mechanizm cache w biegu. I zrozumieć, że ma do czynienia z nagłówkami ważności i Cache-Control jako wysłany z serwera pochodzenia ponieważ jestem obsługujących obrazy z Symfony/PHP5 zamiast bezpośrednio z systemu plików.

 
<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

Doskonała !, ale jeśli używasz serwletu służyć statycznej zawartości, na przykład z bazy danych, komentarz linię #CacheIgnoreQueryString On –

Powiązane problemy