Nginx : отдача файла gzip c Http заголовками

Как настроить Nginx на отдачу сжатых с помощью gzip файлов - понятно. Но как еще к ним присовокупить произвольные http заголовки типа Cache-Control и т.п.? Возможно ли это сделать без back-end ? То есть сжимается с помощью back-end файл(например, HTML) , присовокупляются к нему дополнительные HTTP заголовки, все это записывается на диск, а NGinx отдает все это самостоятельно без обращения к back-end?

Так как есть уточняющие вопросы, решил дополнить вопрос. В интернете просто нет схемы описания как можно сжимать(gzip) кеш с нужным набором Http заголовков и отдавать его исключительно Nginx'ом.

Есть варианты : 1)автоматически кешировать ответ бекэнда(в том числе с заголовками) без сжимания и сжимать статику на лету. 2) предварительно сжимать статику и отдвать nginx, но не понятно, как при этом в кеш пихать нужные заголовки от бекэнда ( не одинаковые для всех страниц кеша add_header,а именно заголовки, сформированные бекэндом,в том числе с разными периодами хранения кеша - если такое возможно).

Ко всему прочему хотелось бы большего контроля над кэшем со стороны бекэнда , например , произвольно удалять отдельные закэшированные страницы(а не ждать пока истечет время кэша ), то есть структура хранения кэша должна быть максимально прозрачной - или сформированная бекэндом и понимаемая Nginx'ом,или понятно сформированная самим Nginx. В общем идея простая - совместить максимально быструю отдачу масимально сжатого кеша без участия бекэнда с возможностью удаления произвольного кэша в произвольное время бекэндом. У меня в проекте будет страниц 100 максимально статичного контента(который не будет изменяться может быть месяцами) и куча динамики, которая кэшироваться не будет, так что хотелось бы максимально разгрузить память и процессор за счет отдачи статики.

P.S. Как отдавать кэш с нужными мне заголовками при помощи бэкэнд я знаю. Знаю как заставить отдавать Nginx закэшированные сжатые и не сжатые ТЕЛА файлов без участия бэкэнд тоже знаю. Но мне еще нужно знать как вместе с телами файлов отправлять закэшированные заголовки без участия бэкэнд.


Ответы (0 шт):