为了账号安全,请及时绑定邮箱和手机立即绑定

如果用户未通过身份验证,如何限制NGINX提供媒体文件

如果用户未通过身份验证,如何限制NGINX提供媒体文件

萧十郎 2021-04-16 18:15:15
在url中,我有一个指向serve_protected_file每次有人尝试访问媒体文件时打开的urlurl(r'^%s(?P<path>.*)$' % settings.MEDIA_URL[1:], views.serve_protected_file, {'document_root': settings.MEDIA_ROOT})在serve_protected_file这个样子的def serve_protected_file(request, path, document_root=None, show_indexes=False):    if request.user.is_authenticated:        return serve(request, path, document_root, show_indexes)    raise Http404()这仅在开发环境中有效当我部署时,文件与Nginx一起提供,它给我的文件看起来像是通过urlhttps://staging.mywebsite.com/media/img/531126758844.jpg如何限制它,除非用户通过身份验证,否则我的媒体文件夹中的所有内容都是私有的,并且应该限制对文件的外部访问我的staging.nginx.conf看起来像location ~ ^/media.*?/(.*)$ {    alias /data/www/staging/mywesite/media/$1;    access_log off;}
查看完整描述

1 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

好吧,Eurica经过2个小时的头部撞击...

由于媒体文件都是机密文件,因此我删除了media configurationin staging.nginx.conf,它像一个超级按钮一样工作。

所以现在正在执行django视图...,nginx正在拦截django视图


查看完整回答
反对 回复 2021-04-27
  • 1 回答
  • 0 关注
  • 157 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信