Nginx内部发送302

Nginx内部发送302,nginx,Nginx,使用此文档: 我添加了一个内部位置块 location /protected { internal; alias /protected/; } 然后使用“X-Accel-Redirect”头发送一个文件(这是python/django代码): 但结果是Nginx将302发送到/protected/foo.zip/(注意后面的斜杠),结果是404 让Nginx发送文件以下载而不是302,我缺少了什么?我的问题是SSL 我忘了该站点有两种配置,一种使用SSL,另一种不使用SSL

使用此文档:

我添加了一个内部位置块

location /protected {
    internal;
    alias /protected/;
}
然后使用“X-Accel-Redirect”头发送一个文件(这是python/django代码):

但结果是Nginx将302发送到/protected/foo.zip/(注意后面的斜杠),结果是404


让Nginx发送文件以下载而不是302,我缺少了什么?

我的问题是SSL

我忘了该站点有两种配置,一种使用SSL,另一种不使用SSL


如果Nginx得到这个头,并且没有匹配的内部块,它会将您重定向到您指定的位置。

我的问题是SSL

我忘了该站点有两种配置,一种使用SSL,另一种不使用SSL

看起来,如果Nginx得到这个头并且没有匹配的内部块,它会将您重定向到您指定的位置

response = HttpResponse()
response['X-Accel-Redirect'] = filename # /protected/foo.zip, no trailing slash
response['Content-Disposition'] = "attachment; filename=downloads.zip"
return response