0

我有 2 台服务器。第一个(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 标头发送请求,但它不起作用。我认为是因为请求来自远程服务器。

我怎样才能完成这项任务?

4

1 回答 1

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; 
}
于 2012-09-10T06:27:35.837 回答