![Nginx 反向代理:未设置过期标头](https://linux22.com/image/562609/Nginx%20%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%EF%BC%9A%E6%9C%AA%E8%AE%BE%E7%BD%AE%E8%BF%87%E6%9C%9F%E6%A0%87%E5%A4%B4.png)
我将静态资产配置为
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可能还需要。