Eu sei como você pode atribuir cabeçalhos NGINX Expires por tipo mime ( respondido aqui ). No entanto, não está claro como usar esse método para atribuir diferentes cabeçalhos Expires por host virtual. Por exemplo, eu poderia ter o abaixo no http
contexto. Porque map
a diretiva precisa entrar no http
contexto, mapear e $expires
aplicar globalmente para todos os hosts virtuais.
map $sent_http_content_type $expires {
~text/ -1;
default max;
}
Então posso adicionar $expires
into http
(aplicado globalmente), server
ou location
.
expires $expires;
E se eu quiser agora expirações diferentes para outro site? Eu precisaria criar um novo mapa para $website2
.
map $sent_http_content_type $website2 {
~application/ -1;
~text/ -1;
default max;
}
... e então atribuir isso especificamente ao host virtual onde quero usá-lo.
server {
server_name mydomain.com;
...
expires $website2;
Agora isso funciona, mas agora TODAS as solicitações para TODOS os hosts virtuais serão mapeadas $sent_http_content_type
para múltiplas vars, mesmo que cada $var seja usada somente para (e somente destinada a) um único host virtual. Isso não é muito ineficaz? Estou esquecendo de algo?
Não se preocupe com muitos mapas.
https://nginx.org/en/docs/http/ngx_http_map_module.html#map