Я хочу обслуживать сгенерированный ресурс только пользователям с административными привилегиями, и я хочу, чтобы Varnish кешировал его для меня, чтобы серверная часть не регенерировала его каждый раз, когда он запрашивается. Я также не хочу выполнять кэширование на сервере, так как для этого у меня есть Varnish.
Вот псевдокод того, что делает мой бэкэнд:
if (authenticated(cookie))
{
if (stale)
{
regenerate_and_send()
}
else
{
not_modified()
}
}
else
{
access_denied()
}
Итак, я имею в виду, что Varnish выполняет проверки (условные GET) и серверная часть отвечает HTTP-статусами «Не изменено», «Доступ запрещен» или «200 OK» (регенерация ресурса в последнем случае, конечно)
Мне нужен Varnish для передачи cookie на сервер, но чтобы игнорировать cookie при хранении ресурса в кеше, поэтому сохраняется только одна копия.
Как я могу это сделать?
Легко провести проверку и написать логику бэкэнда. Как мне работать с файлами cookie в Varnish, чтобы они не влияли на кэширование, а передавались на сервер?