我有 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/;
}
}
以下链接可以很好地回答您的问题。