Готового решения не нашел, сделал через njs и aria2
Сделал примерно так:
1. Клиент запрашивает файл, если он на сервере отсуствует, его кидает в другой location, который вызывает через json-rpc арию, которая запущена в режиме демона и отдает ей ссылку на файл на апстриме и кидает клиенту 404.
2. Ария в несколько потоков его быстренько выкачивает и кладет куда надо. Пока файл не скачался, клиенту на запросы отдается 404.
3. Как только файл скачался - клиенту вместо 404 отдается файл. Все довольны )
Костыльно - но вроде работает.