Nginx内部发送302

时间:2013-11-19 17:59:36

标签: nginx

使用此文档:

http://wiki.nginx.org/XSendfile

我添加了一个内部位置块

location /protected {
    internal;
    alias /protected/;
}

然后使用“X-Accel-Redirect”标头发送文件(这是python / django代码):

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

但结果是Nginx向/protected/foo.zip/发送302(注意尾随斜杠),结果为404.

我缺少什么让Nginx发送文件而不是302?

1 个答案:

答案 0 :(得分:0)

我的问题在于SSL。

我忘记了网站有两种配置,一种配置SSL,另一种配置不配置。

似乎如果Nginx获得此标题并且没有匹配的内部块,它会将您重定向到您指定的位置。