Модуль ngx_http_headers_module
Модуль ngx_http_headers_module позволяет добавлять в заголовок ответа поля заголовка «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
name value
[always]; |
|---|---|
| По умолчанию: | — |
| Контекст: | http, server, location, if in location |
Добавляет указанное поле в заголовок ответа, если код ответа равен 200, 201 (1.3.10), 204, 206, 301, 302, 303, 304, 307 (1.1.16, 1.0.13) или 308 (1.13.0). Значение параметра может содержать переменные.
Можно указать несколько директив add_header. Эти директивы наследуются с предыдущего уровня конфигурации тогда и только тогда, когда на текущем уровне не определены директивы add_header. Правила наследования можно переопределить директивой add_header_inherit (1.29.3).
Если указан параметр always (1.7.5), поле заголовка будет добавлено независимо от кода ответа.
| Синтаксис: | add_header_inherit
on |
off |
merge; |
|---|---|
| По умолчанию: | add_header_inherit on; |
| Контекст: | http, server, location, if in location |
Директива появилась в версии 1.29.3.
Позволяет изменять правила наследования значений, указанных в директивах add_header. По умолчанию используется стандартная модель наследования.
Параметр merge позволяет добавлять значения с предыдущего уровня к значениям, определённым на текущем уровне.
Параметр off отменяет наследование значений с предыдущего уровня конфигурации.
Сами правила наследования наследуются стандартным образом. Например, add_header_inherit merge;, заданный на верхнем уровне, будет рекурсивно наследоваться всеми вложенными уровнями, если позднее не будет переопределён.
| Синтаксис: | add_trailer
name value
[always]; |
|---|---|
| По умолчанию: | — |
| Контекст: | http, server, location, if in location |
Директива появилась в версии 1.13.2.
Добавляет указанное поле в конец ответа, если код ответа равен 200, 201, 206, 301, 302, 303, 307 или 308. Значение параметра может содержать переменные.
Можно указать несколько директив add_trailer. Эти директивы наследуются с предыдущего уровня конфигурации тогда и только тогда, когда на текущем уровне не определены директивы add_trailer. Правила наследования можно переопределить директивой add_trailer_inherit (1.29.3).
Если указан параметр always, указанное поле будет добавлено независимо от кода ответа.
| Синтаксис: | add_trailer_inherit
on |
off |
merge; |
|---|---|
| По умолчанию: | add_trailer_inherit on; |
| Контекст: | http, server, location, if in location |
Директива появилась в версии 1.29.3.
Позволяет изменять правила наследования значений, указанных в директивах add_trailer. По умолчанию используется стандартная модель наследования.
Параметр merge позволяет добавлять значения с предыдущего уровня к значениям, определённым на текущем уровне.
Параметр off отменяет наследование значений с предыдущего уровня конфигурации.
Сами правила наследования наследуются стандартным образом. Например, add_trailer_inherit merge;, заданный на верхнем уровне, будет рекурсивно наследоваться всеми вложенными уровнями, если позднее не будет переопределён.
| Синтаксис: | expires [modified] time;expires
epoch |
max |
off; |
|---|---|
| По умолчанию: | expires off; |
| Контекст: | http, server, location, if in location |
Включает или отключает добавление либо изменение полей заголовка ответа «Expires» и «Cache-Control», если код ответа равен 200, 201 (1.3.10), 204, 206, 301, 302, 303, 304, 307 (1.1.16, 1.0.13) или 308 (1.13.0). Параметром может быть положительное или отрицательное время.
Время в поле «Expires» вычисляется как сумма текущего времени и значения time, указанного в директиве. Если используется параметр modified (0.7.0, 0.6.32), время вычисляется как сумма времени последнего изменения файла и значения time, указанного в директиве.
Кроме того, можно указать время суток, используя префикс «@» (0.7.9, 0.6.34):
expires @15h30m;
Содержимое поля «Cache-Control» зависит от знака указанного времени:
- время отрицательное — «Cache-Control: no-cache».
- время положительное или равное нулю — «Cache-Control: max-age=
t», гдеt— время, указанное в директиве, в секундах.
Параметр epoch устанавливает для «Expires» значение «Thu, 01 Jan 1970 00:00:01 GMT», а для «Cache-Control» — значение «no-cache».
Параметр max устанавливает для «Expires» значение «Thu, 31 Dec 2037 23:55:55 GMT», а для «Cache-Control» — срок 10 лет.
Параметр off отключает добавление либо изменение полей заголовка ответа «Expires» и «Cache-Control».
Последнее значение параметра может содержать переменные (1.7.9):
map $sent_http_content_type $expires {
default off;
application/pdf 42d;
~image/ max;
}
expires $expires;
© 2002-2021 Igor Sysoev
© 2011-2026 Nginx, Inc.
Licensed under the BSD License.
https://nginx.org/en/docs/http/ngx_http_headers_module.html