在url中,我有一个指向serve_protected_file每次有人尝试访问媒体文件时打开的url
url(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一起提供,它给我的文件看起来像是通过url
https://staging.mywebsite.com/media/img/531126758844.jpg
如何限制它,除非用户通过身份验证,否则我的媒体文件夹中的所有内容都是私有的,并且应该限制对文件的外部访问
我的staging.nginx.conf看起来像
location ~ ^/media.*?/(.*)$ {
alias /data/www/staging/mywesite/media/$1;
access_log off;
}
HUWWW
相关分类