Я использую Varnish 3 для кэширования ответов от веб-приложения, использующего Edge Side Includes (ESI).
Обычно существует два типа ответов от конечных точек ESI:
- некоторые относятся к аутентификации, поэтому ответы используют
Vary: Cookie, Accept-Encoding
- некоторые кэшируются для всех пользователей, независимо от файлов cookie, и, таким образом, отвечают
Vary: Accept-Encoding
(без изменения по cookie)
Все запросы содержат заголовок Cookie
с различными файлами cookie.На запросы без заголовка Cookie
отвечает Set-Cookie
.Обратите внимание, что это не относится к __
файлам cookie с префиксом, например, из Google Analytics - это файлы cookie, установленные устаревшим приложением, и у меня нет средств изменить это поведение.
Есть лиспособ * настроить Varnish 3, чтобы помнить, что ответы от соответствующих конечных точек ESI не зависят от cookie, поэтому будущие запросы должны полностью игнорировать заголовок Cookie
и использовать кэшированный ответ вместо выборки нового из бэкэнда?
(*), кроме жесткого кодирования URI в конфигурации Varnish, т. Е. Я ищу способ для Varnish уважать заголовок Vary
без файлов cookie для запросов, которые do содержат файлы cookie.