Um servidor da web preenche todos os requisitos declarados, pode servir qualquer tipo de arquivo que você goste para um navegador da web. Downloads de arquivos grandes via HTTP não são problema. Nginx ou Apache funcionariam, o Nginx é mais simples e geralmente usa menos recursos.
Eu suspeito que você já tenha considerado isso e descartado. Em caso afirmativo, atualize sua pergunta com mais detalhes.