Headers#
Permite adicionar os campos de cabeçalho Adiciona o campo especificado a um cabeçalho de resposta desde que o código de resposta seja igual a 200, 201 (1.3.10), 204, 206, 301, 302, 303, 304, 307 ou 308. O valor do parâmetro pode conter variáveis. Pode haver várias diretivas Se o parâmetro Se o valor do campo, após a substituição das variáveis, for uma string vazia, o campo não será adicionado. Isso permite adicionar o campo de forma condicional: Para os campos A diretiva trata o campo Adiciona o campo especificado ao final de uma resposta desde que o código de resposta seja igual a 200, 201, 206, 301, 302, 303, 307 ou 308. O valor do parâmetro pode conter variáveis. Pode haver várias diretivas Se o parâmetro Se o valor do campo, após a substituição das variáveis, for uma string vazia, o campo não será adicionado. Padrão http, server, location, if in location Habilita ou desabilita a adição ou modificação dos campos de cabeçalho de resposta O tempo no campo Além disso, é possível especificar um horário do dia usando o prefixo "@": O conteúdo do campo tempo é negativo — "Cache-Control: no-cache". tempo é positivo ou zero — "Cache-Control: max-age=`t`", onde t é o tempo especificado na diretiva, em segundos. define define desabilita a adição ou modificação dos campos de cabeçalho de resposta O valor do último parâmetro pode conter variáveis:Expires e Cache-Control, e campos arbitrários, a um cabeçalho de resposta.Exemplo de configuração#
expires 24h;
expires modified +24h;
expires @24h;
expires 0;
expires -1;
expires epoch;
expires $expires;
add_header Cache-Control private;
Diretivas#
add_header#
add_header. Essas diretivas são herdadas do nível de configuração anterior se e somente se não houver diretivas add_header definidas no nível atual.always for especificado, o campo de cabeçalho será adicionado independentemente do código de resposta.map $request_uri $robots_tag {
~^/private/ "noindex, nofollow";
default "";
}
add_header X-Robots-Tag $robots_tag;
ETag e Last-Modified, a diretiva não adiciona um segundo campo: se a resposta já tiver esse campo (por exemplo, definido ao servir um arquivo estático ou recebido de um servidor proxy), a diretiva o substitui. Se o valor for uma string vazia, a diretiva remove o campo da resposta. A substituição e a remoção, assim como a adição, dependem do código de resposta e do parâmetro always.Content-Type da mesma forma. Se o campo recebido de um servidor proxy, FastCGI, uwsgi, SCGI ou gRPC tiver o parâmetro charset e o novo valor não tiver, a diretiva mantém esse charset: por exemplo, text/html; charset=utf-8 substituído por application/json resulta em application/json; charset=utf-8.add_trailer#
add_trailer. Essas diretivas são herdadas do nível de configuração anterior se e somente se não houver diretivas add_trailer definidas no nível atual.always for especificado, o campo especificado será adicionado independentemente do código de resposta.expires#
expires [modified] tempo;expires epoch | max | off;expires off;Expires e Cache-Control desde que o código de resposta seja igual a 200, 201, 204, 206, 301, 302, 303, 304, 307 ou 308. O parâmetro pode ser um tempo positivo ou negativo.Expires é calculado como a soma do tempo atual e o tempo especificado na diretiva. Se o parâmetro modified for usado, então o tempo é calculado como a soma do tempo de modificação do arquivo e o tempo especificado na diretiva.expires @15h30m;
Cache-Control depende do sinal do tempo especificado:epochExpires para o valor "Thu, 01 Jan 1970 00:00:01 GMT", e Cache-Control para "no-cache".maxExpires para o valor "Thu, 31 Dec 2037 23:55:55 GMT", e Cache-Control para 10 anos.offExpires e Cache-Control.map $sent_http_content_type $expires {
default off;
application/pdf 42d;
~image/ max;
}
expires $expires;