一、简介
前端项目发布以后,经常会遇到访问不到最新的版本,这主要是由于我们项目的入口文件index.html被浏览器或者代理缓存了,没有实时拉取到最新文件。本文将介绍一下在nginx上如何设置html文件不缓存。
二、Cache-Control介绍
2.1 服务器可以在响应中使用的标准 Cache-Control 指令。
Cache-control: must-revalidate
Cache-control: no-cache
Cache-control: no-store
Cache-control: no-transform
Cache-control: public
Cache-control: private
Cache-control: proxy-revalidate
Cache-Control: max-age=<seconds>
Cache-control: s-maxage=<seconds>
2.2 配置示例
2.2.1 禁止缓存
发送如下响应头可以关闭缓存。此外,可以参考Expires
和Pragma
消息头。
Cache-Control: no-store
三、nginx配置
location / {
#禁止浏览器缓存 index.html 和 version.json
if ($request_filename ~* .*\.(htm|html|json)$)
{
expires -1;
#add_header Cache-Control "no-store";
add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";
}
client_max_body_size 1024m;
client_body_buffer_size 1024m;
root "D:\web\front\dist";
try_files $uri $uri/ @router;
index index.html index.htm;
error_page 405 =200 http://$host$request_uri;
}
标签:control,Control,缓存,no,Cache,nginx,json,html From: https://www.cnblogs.com/Fooo/p/18662207