Nginx禁用缓存、禁止客户端保存文件
2017-11-24 18:34
1621 查看
浏览器缓存是个好东西,在NGINX中配置也超级简单,但是如果遇到敏感文件、不希望用户通过查看浏览器缓存的方式下载该文件,怎么办?
近期项目正好遇到了此种遇求,需要屏蔽用户通过缓存方式下载网站的视频文件,试了很多种禁用NGINX浏览器缓存的方法,比如:
按理说将expires的值设为负数应该能禁掉缓存,然而并没有,通过缓存仍然能轻松获取该视频文件。
好吧,再来试下一个方法:
location ~ .mp4$ {
expires off;
}
直接将expires 的值设为off,即关闭,想想应该可以了,但是,打开缓存一看,我擦,视频文件仍然在!
最后,只好放大招了:
location ~ .mp4$ {
add_header Cache-Control no-store;
}
看到没,直接加了header设CACHE-CONTROL为NO-STORE,这时浏览器header的HTTP头返回该文件时显示:Cache-Control no-store;,然后浏览器缓存中再也看不到此文件啦,目的达到。而将expires设为负数或OFF,Cache-Control no-cache;不缓存,但文件仍然能在缓存中看到,只是不使用而已。
本文件由管理学书籍http://www.12reads.cn/原创,转载请注明。
近期项目正好遇到了此种遇求,需要屏蔽用户通过缓存方式下载网站的视频文件,试了很多种禁用NGINX浏览器缓存的方法,比如:
location ~ .mp4$ { expires -1; }
按理说将expires的值设为负数应该能禁掉缓存,然而并没有,通过缓存仍然能轻松获取该视频文件。
好吧,再来试下一个方法:
location ~ .mp4$ {
expires off;
}
直接将expires 的值设为off,即关闭,想想应该可以了,但是,打开缓存一看,我擦,视频文件仍然在!
最后,只好放大招了:
location ~ .mp4$ {
add_header Cache-Control no-store;
}
看到没,直接加了header设CACHE-CONTROL为NO-STORE,这时浏览器header的HTTP头返回该文件时显示:Cache-Control no-store;,然后浏览器缓存中再也看不到此文件啦,目的达到。而将expires设为负数或OFF,Cache-Control no-cache;不缓存,但文件仍然能在缓存中看到,只是不使用而已。
本文件由管理学书籍http://www.12reads.cn/原创,转载请注明。
相关文章推荐
- asp.net(C#)禁止缓存文件不让文件缓存到客户端
- 使用nginx做前端服务器可以设置类似的静态文件客户端缓存
- asp.net(C#)禁止缓存文件不让文件缓存到客户端
- Nginx服务器中设置禁止访问文件或目录的方法
- 用WebClient将客户端上传文件保存到远端文件服务器
- 解决非浏览器客户端请求nginx无法命中缓存的问题
- nginx代理 .静态文件不记录日志和配置缓存
- Android客户端缓存机制(文字缓存跟多媒体文件缓存)
- Asp.net直接保存文件到客户端
- LNMP - Nginx配置静态文件缓存时间
- nginx配置1:借助Nginx搭建反向代理服务器与缓存静态文件
- nginx禁止访问某个文件和目录(文件夹)
- nginx利用lua实现nginx反向代理proxy_store缓存文件自删除
- Apache和Nginx下禁止访问特定的目录或文件
- 处理客户端缓存无法及时更新js和css文件的方法
- 【NAS】客户端NFS文件系统的缓存IO机制
- Android客户端缓存机制(文字缓存和多媒体文件缓存)
- 安全测试之禁止页面缓存和文件上传校验
- Jsp 禁止页面客户端缓存
- android客户端把SD卡文件上传到服务器端并保存在PC硬盘文件夹中