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

Другие вопросы по тегам