Headers#
Permite añadir los campos de cabecera Predeterminado — http, server, location, if in location Añade el campo especificado a una cabecera de respuesta siempre que el código de respuesta sea igual a 200, 201 (1.3.10), 204, 206, 301, 302, 303, 304, 307, o 308. El valor del parámetro puede contener variables. Puede haber varias directivas Si se especifica el parámetro Si el valor del campo, tras la sustitución de variables, es una cadena vacía, el campo no se añade. Esto permite añadir el campo de forma condicional: Para los campos La directiva trata el campo Predeterminado — http, server, location, if in location Añade el campo especificado al final de una respuesta siempre que el código de respuesta sea igual a 200, 201, 206, 301, 302, 303, 307, o 308. El valor del parámetro puede contener variables. Puede haber varias directivas Si se especifica el parámetro Si el valor del campo, tras la sustitución de variables, es una cadena vacía, el campo no se añade. Predeterminado http, server, location, if in location Habilita o deshabilita la adición o modificación de los campos de cabecera de respuesta El tiempo en el campo Además, es posible especificar una hora del día usando el prefijo "@": El contenido del campo el tiempo es negativo — "Cache-Control: no-cache". el tiempo es positivo o cero — "Cache-Control: max-age=`t`", donde t es el tiempo especificado en la directiva, en segundos. establece establece deshabilita la adición o modificación de los campos de cabecera de respuesta El valor del último parámetro puede contener variables:Expires y Cache-Control, y campos arbitrarios, a una cabecera de respuesta.Ejemplo de configuración#
expires 24h;
expires modified +24h;
expires @24h;
expires 0;
expires -1;
expires epoch;
expires $expires;
add_header Cache-Control private;
Directivas#
add_header#
add_header name value [always];add_header. Estas directivas se heredan del nivel de configuración anterior si y solo si no hay directivas add_header definidas en el nivel actual.always, el campo de cabecera se añadirá independientemente del código de respuesta.map $request_uri $robots_tag {
~^/private/ "noindex, nofollow";
default "";
}
add_header X-Robots-Tag $robots_tag;
ETag y Last-Modified, la directiva no añade un segundo campo: si la respuesta ya contiene un campo de este tipo (por ejemplo, establecido al servir un archivo estático o recibido de un servidor proxy), la directiva lo reemplaza. Si el valor es una cadena vacía, la directiva elimina el campo de la respuesta. El reemplazo y la eliminación, igual que la adición, dependen del código de respuesta y del parámetro always.Content-Type del mismo modo. Si el campo recibido de un servidor proxy, FastCGI, uwsgi, SCGI o gRPC tiene el parámetro charset y el nuevo valor no lo tiene, la directiva conserva ese charset: por ejemplo, si text/html; charset=utf-8 se reemplaza por application/json, el resultado es application/json; charset=utf-8.add_trailer#
add_trailer name value [always];add_trailer. Estas directivas se heredan del nivel de configuración anterior si y solo si no hay directivas add_trailer definidas en el nivel actual.always, el campo especificado se añadirá independientemente del código de respuesta.expires#
expires [modified] tiempo;expires epoch | max | off;expires off;Expires y Cache-Control siempre que el código de respuesta sea igual a 200, 201, 204, 206, 301, 302, 303, 304, 307, o 308. El parámetro puede ser un tiempo positivo o negativo.Expires se calcula como la suma del tiempo actual y el tiempo especificado en la directiva. Si se usa el parámetro modified, entonces el tiempo se calcula como la suma del tiempo de modificación del archivo y el tiempo especificado en la directiva.expires @15h30m;
Cache-Control depende del signo del tiempo especificado:epochExpires al valor "Thu, 01 Jan 1970 00:00:01 GMT", y Cache-Control a "no-cache".maxExpires al valor "Thu, 31 Dec 2037 23:55:55 GMT", y Cache-Control a 10 años.offExpires y Cache-Control.map $sent_http_content_type $expires {
default off;
application/pdf 42d;
~image/ max;
}
expires $expires;