Nginx反向代理:不设置expires头

我有我的静态资产configuration为

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; } 

expires max不受尊重。
我认为它尊重传入的服务器头。

如何修改这个设置expires头?

Nginx只能应用一个位置,而不会更多。 在你的例子中,它会将expires头部应用于现有的静态文件,但是任何没有find并且来自@upstream位置的文件将会忽略来自静态位置的access_log,expires和add_header指令。

如果你想设置过期你应该复制两个地点的指令。 设置proxy_hide_header可能也是必需的。