Apache-2.2

從遠端伺服器發送 nginx X-Accel-Redirect 請求

  • January 11, 2013

我有 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 標頭髮送請求,但我認為它不起作用,因為來自遠端伺服器,我該如何完成我的任務?

問候!

您需要獲取遠端 URL 主機並將 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-Redirect 遠端 URLS

Nginx X-Accel-Redirect 帶解析器來解析域名

引用自:https://serverfault.com/questions/425328