X accel redirect 不下载文件

X accel redirect not downloading the file

我正在尝试添加身份验证以仅允许有效用户从 nginx 下载静态文件。

这是我的 Nginx 配置:

location ^~ /download-logs {
    internal;
    alias media/logs;
}

并且在 Django 中我添加了一个路由来处理响应:

url   :  url(r'^media/', views.protectedMedia, name="protect_media"),
views : 
def protectedMedia(request):
    response = HttpResponse(status=200)
    response['Content-Type'] = ''
    response['X-Accel-Redirect'] = '/download-logs/log.txt'
    return response

当我尝试从响应转到路由 http://my_ip_address/media/ 时,我可以看到 X 加速重定向字段,但文件未下载

这个问题已经解决了,基本上我忘了在 nginx 配置中为我的 uwsgi 服务器传递代理...

location /api {
    proxy_pass http://127.0.0.1:8000/api;
}

希望这对您有所帮助。

以下是我遵循的完整步骤:

https://medium.com/@pavanskipo/how-to-serve-protected-content-using-x-accel-nginx-django-fd529e428531