Назад | Перейти на главную страницу

Как настроить Varnish так, чтобы он не кэшировал конкретный URL-адрес со строкой запроса?

Настройка сервера: Ubuntu 12.10, Varnish 3.0.2, Nginx 1.3.14, с установленным WordPress 3.5.1.

Мы используем плагин "Random Redirect", который показывает случайное сообщение в блоге по URL-адресу. http://example.com/?random

Я бы хотел, чтобы Varnish не кэшировал указанный выше URL, поскольку в настоящее время "случайное" сообщение продолжает показывать одно и то же сообщение.

Был бы очень полезен конкретный фрагмент, показывающий, что вставлять в default.vcl. Спасибо.

Помещая следующий блок в vcl_recv должен сделать это:

if ( req.url ~ "^/\?random" ) {
  return (pass);
}

Когда ты return(pass), вы пропустите возможность найти запрос в кеше.

Поведение по умолчанию - выполнить несколько тестов, чтобы увидеть, вероятно ли, что контент является динамическим (устанавливает ли он файлы cookie, требует ли он аутентификации, является ли это POST-запросом, и тому подобное) - если ни одно из этих условий не выполняется встретились, Varnish возвращается к return(lookup)