. Когда varnish возвращает кеш, он также возвращает куки, сгенерированные на бэкэнде, или только css, изображения и html возвращаются во фронтенд? У меня были пользователи, которые говорили мне, что они продолжают получать неправильные файлы cookie, поэтому я думаю, что, поскольку файлы cookie основаны на данных геолокации, причиной был кеш лака. Если это так, есть ли способ запретить varnish возвращать какие-либо кэшированные данные для файлов cookie?
Встроенное поведение Varnish VCL будет отправлять заголовки Set-Cookie
, которые были отправлены исходным сервером клиенту. Это позволит клиенту установить соответствующий файл cookie в браузере.
Однако, поскольку заголовок Set-Cookie
подразумевает изменение состояния, Varnish не будет сохранять эти результаты в кэше и будет возвращать так называемый объект Hit-For-Miss для следующие 2 минуты.
Это означает, что следующий запрос для этого объекта будет автоматически обходить кеш. Если какой-либо из последующих ответов серверной части больше не содержит заголовок Set-Cookie
, Varnish будет считать ответ кэшируемым.
См. https://github.com/varnishcache/varnish-cache/blob/6.0/bin/varnishd/builtin.vcl#L157-L165 для встроенного VCL, который определяет это поведение.
Если ваш VCL активно не вмешивается в логику подпрограммы
vcl_backend_response
, всегда будет действовать поведение по умолчанию, а ответы, содержащие заголовкиSet-Cookie
, не будут кэшироваться.
Пожалуйста, поделитесь своим VCL, чтобы узнать, так ли это.