Назад | Перейти на главную страницу

Отправить запрос 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/;
}
}

Следующие ссылки являются отличным ответом на ваш вопрос.

Удаленные URL-адреса Nginx X-Accel-Redirect

Nginx X-Accel-Redirect с преобразователем для разрешения доменных имен