Spec-Zone.ru › nginx

Модуль ngx_http_headers_module

  • Пример конфигурации
  • Директивы
  • add_header
  • add_header_inherit
  • add_trailer
  • add_trailer_inherit
  • expires

Модуль 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API