使用proxy_pass在NGINX上为图像设置浏览器缓存
我使用NGINX作为反向代理,并具有以下设置,将所有请求重定向到我的SPA容器使用proxy_pass在NGINX上为图像设置浏览器缓存,nginx,Nginx,我使用NGINX作为反向代理,并具有以下设置,将所有请求重定向到我的SPA容器 location / { proxy_pass http://172.x.x.x; proxy_intercept_errors on; error_page 404 = /index.html; } 这是可行的,但所有图像的到期日都设置为默认值(max age=3600)。 当我添加下面的块,该块应该为所有图像类型设置到期日,那么所有图像都不再有效(404未找到) 我尝试将这个块嵌套在第
location / {
proxy_pass http://172.x.x.x;
proxy_intercept_errors on;
error_page 404 = /index.html;
}
这是可行的,但所有图像的到期日都设置为默认值(max age=3600
)。
当我添加下面的块,该块应该为所有图像类型设置到期日,那么所有图像都不再有效(404未找到
)
我尝试将这个块嵌套在第一个块中,但随后我也得到了404
响应
为什么这不起作用?我应该改变什么,以便所有图像都有一个扩展的
最大年龄?Nginx选择一个位置。它使用位置块内的指令或从周围块继承的指令
如果要向上游传递对.jpg
和.png
URI的请求,则位置
还需要包含一个代理传递
语句
或者,使用map
设置expires
值。有关详细信息,请参阅
例如:
map $request_uri $expires {
default off;
~*\.(jpg|png)(\?|$) 1M;
}
server {
...
expires $expires;
location / {
...
}
}
我认为expires
已经设置了缓存控制头,但是您也可以使用另一个map
来设置add\u头
指令的值。您的新位置
缺少代理\u过程http://172.x.x.x;代码>语句。是的,就是这样。如果你把你的评论作为回答,我会接受的。
map $request_uri $expires {
default off;
~*\.(jpg|png)(\?|$) 1M;
}
server {
...
expires $expires;
location / {
...
}
}