Como sempre, ele deve ser legível pelo usuário em que o servidor da Web está sendo executado.
Eu tenho um aplicativo Ruby-on-Rails que estou hospedando com o Apache e o Phusion-Passenger (no Ubuntu Server). Neste aplicativo eu tenho um método controlador que basicamente protege o acesso a alguns arquivos com base no usuário atualmente logado e os servidores usando o X-sendfile. O método é algo como isto:
def show
if File.exists @file_name
sendfile @file_name, :xsendfile => true
else
render_404
end
end
Ele misteriosamente não funciona no nosso servidor de teste e eu suspeito que ele tenha algo a ver com permissões de arquivo, porque toda vez que eu o atingi, obtive um 404, mas não é a página 404 que seria renderizada como resultado de minha render404
call; assim, suspeito que o erro esteja ocorrendo após a execução da linha sendfile
.
Alguém poderia, por favor, esclarecer para mim quais devem ser as permissões do arquivo para o apache para o servidor através do x-sendfile.
PS Eu também devo salientar que tenho certeza que meu módulo X-sendfile está devidamente configurado e funcionando, então não tem nada a ver com isso