Na minha instalação do nginx 0.8.34, estou usando o recurso X-Accel-Redirect para controlar downloads de arquivos no código do aplicativo, enquanto o aplicativo não gerencia o download.
Depois de muita dor, isso agora basicamente funciona, exceto que o nginx sempre retorna o arquivo com o text/html
tipo de conteúdo.
O tipo de conteúdo padrão é application / octet-stream, especificado no http
bloco.
O bloco do servidor contém, entre outras coisas, a definição do diretório em que os arquivos estão armazenados:
location /files {
default_type application/octet-stream;
alias /srv/www/uploads;
internal;
}
Então, eu especifiquei o tipo de conteúdo mesmo aqui, mas nada mudou.
Não quero definir o tipo de conteúdo pelo aplicativo, porque então eu iria me atrasar (primeiro teria que determiná-lo). Então, idealmente, o nginx retornaria o tipo de mimet correto com base na extensão do arquivo (eu incluo mime.types no http
bloco).