从远程服务器发送 nginx X-Accel-Redirect 请求

从远程服务器发送 nginx X-Accel-Redirect 请求

我有 2 个服务器,第一个 (domain.com) 是 django/apache 服务器,第二个 (f1.domain.com) 是文件服务器 (nginx),其中的一些文件受到保护,应该只允许注册用户下载,因此我设置了一个 nginx 服务器,

server {
        listen 80 default_server;
        server_name *.domanin.com;
        access_log /home/domanin/logs/access.log;
        location /files/ {
             internal;
             root /home/domanin;
        }
}

我从 django 通过 X-Accel-Redirect 标头发送请求,但我认为它不起作用,因为它来自远程服务器,我该如何完成我的任务?

问候!

答案1

您需要获取远程 URL Host 和 URI 并将其传递给代理

location ^~ /redirect {
location ~ "^/redirect/(.*)/(.*)" {
resolver 8.8.8.8;
# internal;
include proxy_params;
proxy_pass http://$1/$2;
# echo proxy_pass;
# autoindex on;

# alias /var/www/;
}
}

以下链接可以很好地回答您的问题。

Nginx X-Accel-重定向远程 URL

Nginx X-Accel-Redirect 与解析器解析域名

相关内容