Отправьте запрос 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-адрес хоста и 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 с распознавателем для разрешения доменных имен