Re: кешировать только ответы где есть определённый Set-Cookie

VovansystemS vovansystems на gmail.com
Сб Июл 9 08:10:32 UTC 2022


Добрый день,

> У вас map выполняется в proxy_cache_bypass, то есть до отправки
> запроса на бэкенд, и запоминает результат (некорректный, так как
> он основан на ещё не полученных от бэкенда заголовках ответа).

Спасибо большое за быстрый ответ, - помогло!

Результирующая конфигурация для моих целей получилась такая:

map $upstream_http_set_cookie $bypass_cache {
    "~*pll"     0;
    "~*=" 1;
}

        proxy_ignore_headers "Set-cookie";
        proxy_no_cache $bypass_cache;

Ответы содержащие заголовок Set-cookie могут кешироваться. Если в
заголовке Set-cookie встречается pll - такой ответ кешируется. Если в
заголовке Set-cookie встречается любое другое установленное значение
(есть символ "="), то такой ответ кешироваться не будет. Если же
заголовок Set-cookie пустой, то такой ответ будет кешироваться.


Подробная информация о списке рассылки nginx-ru