O Nginx não serve arquivos grandes

2

Ao tentar baixar um arquivo grande (não tenho certeza de qual tamanho é suficiente, tentando baixar 5Gb), a conexão está travada:

$ wget --verbose http://example.net/large.zip -O /dev/null
--2016-12-14 12:52:38--  http://example.net/large.zip
Resolving example.net (example.net)... 1.2.3.4
Connecting to example.net (example.net)|1.2.3.4|:80... connected.
HTTP request sent, awaiting response...

E isso está acontecendo para sempre, e para sempre eu quero dizer 10 minutos, pelo menos.

configuração nginx para esse tipo de arquivo:

location ~* ^.+\.(css|js|ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
   access_log off;
   log_not_found off;
   expires 7d;
}

Pequenos arquivos estáticos (e pequenos quero dizer, por exemplo, os de 50Mb) são bem servidos.

Desativando access_log; to "on" não ajuda, não há nada nos logs nesta solicitação.

Alterar o tipo de arquivo do zip para outro tipo não ajuda.

O mais estranho é que se eu iniciar o download e depois disso reiniciar o nginx, o download começa bem. Mas só esse aqui. Se você iniciar outro download após a reinicialização do servidor, ele não funcionará da mesma maneira.

    
por Andrey 14.12.2016 / 07:16

3 respostas

0

Oops meu erro.

Houve um CDN configurado na frente deste servidor. E precisou de muito tempo para obter esses arquivos completamente antes de começar a atendê-los. É por isso que o download começou instantaneamente quando reiniciei o nginx. CDN estava dando o arquivo incompleto.

    
por 15.12.2016 / 05:30
3

A resposta parece estar nesses links. Um , dois . Basicamente, desative o cache de disco

location / {
  proxy_max_temp_file_size 0;
}
    
por 14.12.2016 / 19:30
0

Para mim, o remédio foram essas duas configurações:

No arquivo:      /etc/nginx/nginx.conf

Adicionar:

proxy_max_temp_file_size 0;
proxy_buffering off;

Entre as linhas client_max_body_size 128M; e server_names_hash_bucket_size 256; :

http {

client_max_body_size 128M;
proxy_max_temp_file_size 0;
proxy_buffering off;
server_names_hash_bucket_size 256;
    
por 14.06.2018 / 16:58