Добавить в конфиг веб-сервера локейшен, обрабатывающий все запросы с сообветствующим префиксом, то есть, в вашем случае, /download/test, и перенести basic auth внутрь него.
Запроксируйте на "двух других" урлы к статике через фоновый с кэшем - тогда они скачают файл с него всего по одному разу, положат его в кэш и затем будут отдавать из него.
Разумеется, при изменении файлов нужно менять на странице урл к нему, например, с помощью аргумента с версией.
Погрепать руками access-логи (если это разовая задача), подключить какой-нибудь Goaccess (красиво, но не вполне гибко), если хочется гибкости - ELK и т. п.
Таким образом ботов блокировать бессмысленно. Те, которые честно про себя пишут в юзерагенте - обычно не запрашивают агрессивно и плюс-минус уважают то, что написано в robots.txt. Подавляющее большинство парсеров, которые фигачат как не в себя - притворяются обычными браузерами.
Почему у вас в локейшене одновременно root, proxy_pass и try_files? Определитесь, чего хотите - если только проксировать в Vue, то этим занимается второй вариант.
Если всё общение происходит по HTTP - непонятно, зачем эта кривота с кучей самоподписанных сертификатов и кастомных портов. Разводите сервисы нгинксом по разным доменам/урлам и выпускаете валидные сертификаты через Let`s Encrypt.
У Let`s Encrypt существует способ подтверждения и не связанный с раскладыванием файликов - например, с помощью TXT-записей. В вашем случае, на мой взгляд, это наиболее подходящий вариант.