Как настроить Varnish для условного игнорирования файлов cookie на основе заголовка ответа Vary?

Я использую Varnish 3 для кэширования ответов от веб-приложения, которое использует Edge Side Includes (ESI).

Обычно есть два типа ответов от конечных точек ESI:

  • некоторые являются специфичными для аутентификации, поэтому ответы используют Vary: Cookie, Accept-Encoding
  • некоторые кэшируются для всех пользователей независимо от файлов cookie, таким образом, отвечая Vary: Accept-Encoding (без изменения по cookie)

Все запросы содержат Cookie заголовок с различными куки. Запросы без Cookie заголовок ответил с Set-Cookie, Обратите внимание, что это не так __куки-файлы с префиксом, например, из Google Analytics - это куки-файлы, установленные устаревшим приложением, и у меня нет средств изменить это поведение.

Есть ли способ * настроить Varnish 3, чтобы помнить, что ответы от соответствующих конечных точек ESI не зависят от cookie, таким образом, будущие запросы должны игнорировать Cookieзаголовок и использовать кэшированный ответ вместо получения нового от бэкэнда?

(*) кроме жесткого кодирования URI в конфигурацию Varnish, т.е. я ищу способ для Varnish уважать отсутствие файлов cookieVary заголовок для запросов, которые содержат куки.

0 ответов

Другие вопросы по тегам