如何使用X-Accel-Redirect配置对远程nginx上的文件的受保护访问

时间:2012-09-07 13:41:21

标签: django apache nginx

我有2台服务器。 First(domain.com)是django / apache服务器,第二个(f1.domain.com)是文件服务器(nginx)。某些文件受到保护,只允许注册用户下载。为此,我设置了一个带有

的nginx服务器
server {
        listen 80 default_server;
        server_name *.domain.com;
        access_log /home/domain/logs/access.log;
        location /files/ {
             internal;
             root /home/domain;
        }
}

从Django我通过X-Accel-Redirect标头发送请求,但它不起作用。我认为因为请求来自远程服务器。

我该如何完成这项任务?

1 个答案:

答案 0 :(得分:1)

“从django我通过X-Accel-Redirect标头发送请求” - 这是不正确的,“X-Accel”标头必须是来自上游服务器的响应头的一部分。

http://wiki.nginx.org/X-accel所述,必须有一个proxy_pass或fastcgi_pass指令将响应头发送给nginx。

location /protected_files { 
    internal;
    proxy_pass http://127.0.0.2; 
}