Headers#
Позволяет выдавать поля заголовка "Expires" и "Cache-Control", а также добавлять произвольные поля в заголовок ответа. По умолчанию — http, server, location, if в location Добавляет указанное поле в заголовок ответа при условии, что код ответа равен 200, 201 (1.3.10), 204, 206, 301, 302, 303, 304, 307 или 308. В значении параметра можно использовать переменные. Директив add_header может быть несколько. Директивы наследуются с предыдущего уровня конфигурации при условии, что на данном уровне не описаны свои директивы add_header. Если указан параметр По умолчанию — http, server, location, if в location Добавляет указанное поле в конец ответа при условии, что код ответа равен 200, 201, 206, 301, 302, 303, 307 или 308. В значении можно использовать переменные. Директив add_trailer может быть несколько. Директивы наследуются с предыдущего уровня конфигурации при условии, что на данном уровне не описаны свои директивы add_trailer. Если указан параметр По умолчанию http, server, location, if в location Разрешает или запрещает добавлять или менять поля "Expires" и "Cache-Control" в заголовке ответа при условии, что код ответа равен 200, 201, 204, 206, 301, 302, 303, 304, 307 или 308. В качестве параметра можно задать положительное или отрицательное время. Время в поле "Expires" получается как сумма текущего времени и времени, заданного в директиве. Если используется параметр Кроме того, с помощью префикса "@" можно задать время суток: Содержимое поля "Cache-Control" зависит от знака заданного времени: отрицательное время — "Cache-Control: no-cache". положительное или равное нулю время — "Cache-Control: max-age=`t`", где t это время в секундах, заданное в директиве. задает время "Thu, 01 Jan 1970 00:00:01 GMT" (1 января 1970 00:00:01 GMT) для поля "Expires" и "no-cache" для поля "Cache-Control". задает время "Thu, 31 Dec 2037 23:55:55 GMT" (31 декабря 2037 23:55:55 GMT) для поля "Expires" и 10 лет для поля "Cache-Control". запрещает добавлять или менять поля "Expires" и "Cache-Control" в заголовке ответа. В значении последнего параметра можно использовать переменные:Пример конфигурации#
expires 24h;
expires modified +24h;
expires @24h;
expires 0;
expires -1;
expires epoch;
expires $expires;
add_header Cache-Control private;
Директивы#
add_header#
add_header
имя значение [always
];always
, то поле заголовка будет добавлено независимо от кода ответа.add_trailer#
add_trailer
имя значение [always
];always
, то указанное поле будет добавлено независимо от кода ответа.expires#
expires
[modified
] время;expires
epoch
| max
| off
;expires off;
modified
, то время получается как сумма времени модификации файла и времени, заданного в директиве.expires @15h30m;
epoch
max
off
map $sent_http_content_type $expires {
default off;
application/pdf 42d;
~image/ max;
}
expires $expires;