使用 nginx x-accell-redirect 保护你的静态文件
Contents
在web开发过程中,有些时候需要隐藏你的静态文件url,也有些时候需要频繁更替你的静态资源服务商,如果你的静态资源服务商(七牛、又拍云)发生了变更,然后你又要修改对外暴漏的url是非常不方便的。这时候我们使用一个统一的自己能控制的对外url对于我们非常方便,也算是变相的对外解耦,是个非常有用的办法。
基于以上的想法,我们来进行技术选型,由于现在大家写web都脱离不了nginx,所以就想在nginx层面上解决这个问题。不出所料,nginx 里的 x-accell-redirect 就可以实现此功能。下面我们使用nginx和django来实现此功能。
配置nginx
修改 nginx.conf 新增 location
|
|
保存,reload 。
django view
这里面使用了 django-rest-framework 来进行API的开发
|
|
然后通过url来访问,鉴权成功,就可以访问到你要的图片。如果不需要鉴权,渠道auth的相关代码就可以。