在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 configuration
in staging.nginx.conf
,它像一个超级按钮一样工作。
所以现在正在执行django视图...,nginx正在拦截django视图
添加回答
举报
0/150
提交
取消