Прокси-сервер обратного кэширования Apache - почему он не кэшируется?
-
06-07-2019 - |
Вопрос
Я пытаюсь настроить прокси-сервер обратного кэширования для показа рекламной графики (gif, jpg, swf).Проксирование работает нормально и отправляет запрос на исходный сервер, но, похоже, я не могу понять, почему содержимое не кэшируется.Моя текущая конфигурация приведена ниже.Цель состоит в том, чтобы кэшировать все запросы, которые соответствуют префиксу /ca/ URI.Исходный сервер обслуживает файлы с чистыми URL-адресами, без расширений файлов, максимальный возраст контроля кэша = 1 неделя, установленный в заголовках исходного сервера.
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]
В настоящее время единственное кэширование, которое я видел на самом деле, - это кэширование локальных файлов, к которым осуществляется доступ на прокси-серверах, я ищу то, чего мне не хватает, чтобы кэшировать содержимое, полученное с исходного сервера.
Мне интересно, связано ли это с тем, что mod_cache не кэширует, потому что содержимое извлекается с исходного сервера, а не из местоположения на диске.Ищу способ принудительно кэшировать все запросы, соответствующие этому префиксу.
Спасибо!
p.s.- похоже, у меня возникла именно эта проблема: http://mail-archives.apache.org/mod_mbox/httpd-users/200901.mbox/%3C497F6ED3.7080606@gmail.com%3E.Буду проверять свои разрешения и переходить к отладочным сообщениям...
Решение
Добавление этих директив, казалось, привело в действие механизм кэширования.Я полагаю, что это связано с истечением срока действия и заголовками управления кэшем, отправленными с исходного сервера, поскольку я отправляю изображения с Symfony / PHP5, а не непосредственно из файловой системы.
<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>