2. Самое правильное решение - на бэкэнде поставить скрипт, на который
будут направляться все запросы типа /download2/file.exe. Скрипт
проверив что отдавать этому юзеру этот файл можно выдает заголовок с
X-Accel-Redirect с патем к файлу /download/file.exe. В nginx location
/download/ прописывается с флагом internal, тогда файлы скачать можно
будет только через /download2/.
Если не ставить cookies, то скрипт всё равно проверять будет по URI да
по referrer - а тогда какой смысл нагружать этим бэкенд с дорогими
ресурсами? Это всё и на nginx проверять можно и нужно.
Вы имеете ввиду fats-cgi? Если нет, то интересно было-бы узнать.