У меня есть 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/;
}
}
Следующие ссылки являются отличным ответом на ваш вопрос.
Удаленные URL-адреса Nginx X-Accel-Redirect
Nginx X-Accel-Redirect с преобразователем для разрешения доменных имен