首页 > 解决方案 > X加速重定向不下载文件

问题描述

我正在尝试添加身份验证以仅允许有效用户从 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 加速重定向字段,但没有下载文件

在此处输入图像描述

标签: djangonginxx-accel-redirect

解决方案


这个问题解决了,基本上我忘记在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


推荐阅读