模块 ngx_http_headers_module

Example Configuration
Directives
     add_header
     add_trailer
     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定义任何指令时,这些指令才会从先前的配置级别继承。

如果always指定了该参数(1.7.5),则无论响应代码如何,都会添加标头字段。

句法: 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定义任何指令时,这些指令才会从先前的配置级别继承。

如果always指定了参数,则无论响应代码如何,都将添加指定字段。

句法: 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.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”字段的内容取决于指定时间的符号:

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;