Рейтинг:0

Как распределять кеш Varnish по-разному для разных типов запросов?

флаг cn

В моем магазине есть перенаправление, которое показывает другой вид магазина в зависимости от местоположения клиента. Он считывает заголовок через Fastly и перенаправляет покупателя в другое представление магазина, каждый раз используя один и тот же URL-адрес.

Когда к магазину обращается много клиентов, кеш смешивается, даже при работе перенаправления кеш распространяется среди всех покупателей в любом месте, благодаря чему покупатели из Великобритании видят вид магазина в США.

Как я могу настроить блок кеша через файл VCL, чтобы он не просто перенаправлял путем распределения кеша в зависимости от местоположения?

Рейтинг:0
флаг ma

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

Просто добавьте что-то подобное в свой vcl, заменив X-Ваше-Местоположение-Заголовок с именем вашего заголовка:

суб vcl_hash {
  /* Пользовательское хеширование заголовков */
  если ( req.http.X-Ваше-Расположение-Заголовок ) {
    hash_data(req.http.X-UA-Device);
  }

Видеть https://www.varnish-cache.org/docs/trunk/users-guide/vcl-built-in-subs.html#vcl-хэш

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.