отмените кэш varnish, чтобы он переходил на бэкенд только на главной странице

if (req.url == "/") {
  return(pass);
}

Позволяет ли это отменить лакирование только на главной странице (например, www.prism.com), а не на других страницах, таких как www.prism.com/product?

Я думал, что это тоже будет работать, но не уверен, и является ли вышеуказанный вариант лучшим?

if (req.url ~ "") {
  return(pass);
}

Я просто хочу, чтобы он пропускал кэширование на главной странице, потому что мы используем его для установки cookie для всех пользователей. Мне нужно изменить кэширование, потому что я понял, что некоторый код для генерации куки не работает в часы пик.

1
задан 17 August 2021 в 14:25
1 ответ

Следующий код действительно является правильным способом обхода кеша на главной странице:

if (req.url == "/") {
    return(pass);
}

Однако, пожалуйста, подумайте о последствиях такого действия. Домашняя страница — это точка входа для большинства ваших пользователей. Отсутствие возможности кэшировать его серьезно повлияет на вашу производительность.

Вопрос: какой файл cookie вы устанавливаете на главной странице?

  • Действительно ли требуется этот файл cookie?
  • Может ли файл cookie быть синтезирован и создан Varnish?
  • Может ли файл cookie быть установлен Вместо этого Javascript.

Пожалуйста, рассмотрите варианты и попытайтесь найти решение, в котором ваша самая важная страница все еще кэшируется.

В качестве побочного эффекта вам потребуется написать необходимый VCL для работы с заголовком запроса Cookie для входящих запросов, которые считаются кэшируемыми.

1
ответ дан 17 August 2021 в 15:21

Теги

Похожие вопросы