Apache reverso Caching Proxy - por que não é cache?
-
06-07-2019 - |
Pergunta
Eu estou tentando configurar um proxy cache reverso para anúncios gráficos (gif, jpg, swf) que servem. O proxy está funcionando bem e enviando o pedido para o servidor de origem, mas eu não consigo descobrir por que o conteúdo não está sendo armazenada em cache. Minha configuração atual está abaixo. O objetivo é armazenar em cache todos os pedidos que correspondem a / ca / ??URI prefixo. O servidor de origem está servindo os arquivos com URLs limpas, há extensões de arquivos, Cache-control max-age = 1 semana set nos cabeçalhos servidor de origem.
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]
Atualmente, a única cache eu vi realmente acontecer é a de arquivos locais acessados ??nos servidores de proxy, eu estou olhando para o que eu estou sentindo falta de obter o conteúdo obtido a partir do servidor de origem para ser armazenada em cache.
Eu estou querendo saber se isso tem a ver com mod_cache não cache porque o conteúdo é obtido a partir do servidor de origem, e não um local no disco. Procurando uma maneira de forçar todos os pedidos correspondentes que prefixo para ser armazenada em cache.
Obrigado!
P.S. - Parece que eu estou tendo esta questão exata: http://mail-archives.apache.org/mod_mbox/httpd-users/200901.mbox/%3C497F6ED3.7080606@gmail.com%3E . Será verificando minhas permissões e passar por cima de depuração msgs ...
Solução
Adicionando estas directivas parecia chutar o mecanismo de cache na engrenagem. Eu acho que tem a ver com a validade e cache-controle cabeçalhos como enviado do servidor de origem, já que estou servindo-se imagens com Symfony / PHP5 em vez de diretamente do sistema de arquivos.
<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>