Можно чуть подробнее схему описать?
Где логика internal redirect реализуется? Где реализуются фильтры?
Пользователю выдаётся уникальный URL. nginx передаёт этот URL бэкенду.
Если бэкенду нравится этот URL, то он в ответ ставит заголовок
X-Accel-Redirect: /uri/to/static/file
и nginx медленно и печально отдаёт этот файл с учётом ranges.
При этом клиенту из первоначального ответа передаются Cache-Control,
Content-Disposition и Set-Cookie. В конфиге nginx'а нужно описать
location /uri/to/static/ {
internal;
root /path/to/files;
}
чтобы напрямую этот /uri/to/static/file был не доступен.
On 9/15/05, Igor Sysoev <is@xxxxxxxxxxxxx> wrote:
On Thu, 15 Sep 2005, L0rda wrote:
Igor Vinokurov wrote:
Все бы хорошо, но как быть с download managers, качающими в несколько
потоков?
On 9/15/05, Михаил Монашёв <postmaster@xxxxxxxxxxxxx> wrote:
Здравствуйте Игорь,
Для каждого скачивания делать уникальный url например.
Nginx + fastcgi + internal redirect
Создавайте уникальный ID, хранить в базе сутки или сколько нужно.
Проверяйте его и делайте internal redirect на файл, если это уникальное
значение не верно - отдавайте 404.
Фильтры делайте какие угодно.. user-agent, ip, простор для фантазии=)
fastcgi необязательно. X-Accel-Redirect работает и для fastcgi, и для proxy.