1) crie um script pequeno para primeiro renomear seu arquivo para alguma string aleatória que não possa ser consultada (isto é, 32 alfanuméricos) e copie-o para o seu servidor HTTP
2) configure um script de download simples (consulte link ), adicione uma linha desvincular o arquivo após o download
3) envie o link para seu cliente
Eu acho que poderia funcionar - embora eu não tenha certeza se isso impediria dois downloads concomitantes se alguém se conectasse ao mesmo tempo que seu cliente. Pode ser necessário adicionar um bloqueio ao arquivo durante o envio.