Outra possibilidade é usar o cabeçalho X-Accel . Não conheço seu caso de uso, por isso talvez não seja um bom ajuste.
X-Accel é o cabeçalho específico do nginx. Você pode emitir esse cabeçalho em seu script PHP - como header("X-Accel-Redirect: /private-downloads/magic.iso")
Quando o nginx reconhecer esse cabeçalho, o conteúdo do arquivo magic.iso
do servidor será localizado em /data/private-downloads
.
Portanto, sua tarefa é preparar download.php
, que verifica a autorização e responde com o cabeçalho X-Accel ou redireciona para a tela de login.
Definição de /private-downloads/
em nginx.conf
location /private-downloads/ {
internal; # this
alias /data/private-downloads;
# this should be located outside of HTTP server root
}
Para mais detalhes, consulte x-accel questions no serverfault. 1