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

Страницы генерируются динамически, и поскольку сейчас мне нужно 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, поскольку они общие для всех страниц, и любая страница может загрузить их в кеш, но изображения для каждой страницы разные.

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

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


person dewu    schedule 02.07.2016    source источник


Ответы (1)


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

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

person Ronald    schedule 03.07.2016