我将静态资产配置为
location @upstream {
proxy_pass http://localhost:82;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
try_files $uri @upstream;
access_log off;
expires max;
add_header Cache-Control public;
}
未遵守最大有效期。
我认为它遵守传入的服务器标头。
如何修改它来设置过期标头?
答案1
Nginx 只会应用一个位置,绝不会应用更多。在您的示例中,它将对现有静态文件应用 expires 标头,但任何未找到且因此来自 @upstream 位置的文件将忽略来自静态位置的 access_log、expires 和 add_header 指令。
如果你想设置过期时间,你应该在两个位置复制该指令。设置proxy_hide_header可能还需要。