Apache-2.2
從遠端伺服器發送 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 標頭髮送請求,但我認為它不起作用,因為來自遠端伺服器,我該如何完成我的任務?
問候!
您需要獲取遠端 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/; } }
以下連結是您問題的絕佳答案。