как передать cache-control заголовок от апстрима в браузер
Maxim Dounin
mdounin на mdounin.ru
Ср Сен 21 10:01:19 UTC 2022
Hello!
On Wed, Sep 21, 2022 at 11:09:18AM +0300, VovansystemS wrote:
> nginx используется как кеширующий реверс-прокси, апстрим с Апачем
> выставляет заголовок:
> Cache-Control: public, max-age=0, must-revalidate
>
> Nginx руководствуется этим заголовком для того, чтобы определить каким
> образом кешировать ответ апстрима, но посетителю Nginx отдаёт ответ с
> заголовком:
> Cache-Control: no-cache,no-store
>
> Необходимо сделать так, чтобы заголовок "Cache-Control: public,
> max-age=0, must-revalidate" получал посетитель (браузер). Как лучше
> всего этого добиться?
Убрать конфигурацию, которая прячет исходный заголовок
Cache-Control (proxy_hide_header?) и добавляет вместо него
"no-cache,no-store"?
По умолчанию nginx отдаёт клиенту ровно тот заголовок
Cache-Control, какой получил от бэкенда. Чтобы вернуть что-то
другое - нужно это явно сконфигурировать. Причём получить "no-store" с
помощью простых стандартных механизмов, как то директива expires,
не получится. То есть либо у вас это должно быть явно в конфиге
nginx'а, либо такой заголовок всё-таки возвращает бэкенд.
--
Maxim Dounin
http://mdounin.ru/
Подробная информация о списке рассылки nginx-ru