Потепление лака кеша включая изображения?

Страницы генерируются динамически, а потому что сейчас мне нужно PHPSESSID вся страница не может быть кэширована. Но, по крайней мере, я хотел бы кэшировать весь статический контент, включая изображения, которые включены в страницы двумя способами:

src="http://www.example.com/image.php?height=70&width=70&image=/ads/thumb/68370.jpg"

а также в обычном порядке

src="http://www.example.com/uploads/user/thumb/8705.jpg

В конфигурационном файле Varnish образы вроде jpg, png а также 'image.php' URL установлены для кэширования.

Когда страница открывается в браузере дважды, Varnish работает нормально, jpgs, pngs а также image.php возраст> 0.

Теперь, когда я запускаю скрипт для разогрева кеша лака, а затем впервые открываю любую страницу в браузере, все jpgs, pngs а также image.php возраст всегда = 0

Скрипт для разогрева кеша:

 wget --quiet -U Firefox http://$URL/$sitemap_file --no-cache --header='Cache-    Control: no-cache' --output-document - | egrep -o "http(s?)://$URL[^ \"\'()\<>]+    " | while read line; do
       if [[ $line == *.xml ]]
       then
           newURL=$line
           wget --quiet -U Firefox $newURL --no-cache --header='Cache-Control: n    o-cache' --output-document - | egrep -o "http(s?)://$URL[^ \"\'()\<>]+" | while     read newline; do
              time curl -A 'Cache Warmer' -sL -w "%{http_code} %{url_effective}\    n" $newline -o /dev/null 2>&1
              echo $newline
            done
       else
            time curl -A 'Cache Warmer' -sL -w "%{http_code} %{url_effective}\n"     $line -o /dev/null 2>&1
            echo $line
        fi
   done

Там нет проблем с другими статическими файлами, такими как css или же js поскольку они являются общими для всех страниц, и любая страница может загрузить их в кэш, но изображения для каждой страницы различны.

Итак, возможно ли кэшировать изображения из скрипта прогрева?

Спасибо за любые намеки Дерек

1 ответ

По умолчанию Varnish будет хэшировать полный URL-адрес (включая параметры запроса) при кэшировании объекта.

Может быть, URL-адреса в вашем сценарии разминки имеют разные параметры запроса, чем URL-адрес, который вы позже вводите в браузер?

Другие вопросы по тегам