Corrigir o limite de upload de 2 GB do Nextcloud: Como permitir o envio de arquivos grandes

Um upload no Nextcloud que para em 2 GB geralmente está sendo limitado por uma camada específica no caminho da requisição, e não por uma configuração universal do Nextcloud. Para aceitar arquivos maiores, defina um limite acima do tamanho do arquivo em cada camada que processa o upload: PHP, servidor web e qualquer proxy reverso ou painel de hospedagem. Em seguida, verifique se o armazenamento, o espaço temporário e os tempos limite de requisição são suficientes para a transferência.

Este guia usa um limite de 5 GB como exemplo para arquivos de até aproximadamente 4 GB. Escolha um limite que corresponda ao seu caso de uso real, deixe uma margem para sobrecarga de requisições quando aplicável e mantenha a configuração consistente em toda a sua infraestrutura. Os exemplos se aplicam a um servidor Nextcloud autogerenciado usando PHP; hospedagem gerenciada, contêineres e appliances podem apresentar caminhos de configuração diferentes.

Por que um upload de 2 GB pode falhar

O manual de administração atual do Nextcloud explica que uploads grandes podem ser limitados pela configuração do PHP e do servidor web. Com uploads em partes, o navegador ou cliente envia fragmentos que o Nextcloud monta; algumas diretivas de tamanho de arquivo do PHP podem não controlar essas solicitações, enquanto os tempos limite do servidor web ou do PHP ainda podem. Um proxy, firewall, backend de armazenamento, cota de usuário ou espaço em disco temporário cheio podem impor outra limitação. Consulte o guia de administração de uploads de arquivos grandes do Nextcloud e o guia do usuário do Nextcloud para uploads grandes .

“2 GB” também pode significar 2.000.000.000 bytes ou 2 GiB (2.147.483.648 bytes). O limite exibido e o limite real em bytes podem não corresponder exatamente. Registre o erro, o tamanho do arquivo em bytes e se a falha ocorre imediatamente ou após o início do processamento. Esses detalhes ajudam a identificar qual camada deve ser inspecionada.

1. Identifique a primeira camada que rejeita o upload.

Antes de alterar as configurações, observe como o arquivo é carregado: interface web do Nextcloud, cliente de sincronização para desktop ou celular, ou aplicativo WebDAV. Teste com um arquivo ligeiramente maior que o limite anterior, mas não faça uploads repetidos de arquivos com vários gigabytes durante a resolução de problemas. Verifique a visão geral e o registro de administração do Nextcloud, o registro de erros do servidor web, os registros do PHP-FPM ou Apache e qualquer painel de controle de proxy ou hospedagem no momento da falha.

  • Uma resposta HTTP 413 imediata geralmente indica um limite no tamanho do corpo da requisição do servidor web ou do proxy.
  • Um aviso do PHP sobre um arquivo que excede o tamanho permitido aponta para configurações de upload do PHP para uma requisição multipart convencional.
  • Uma transferência que inicia, mas trava ou expira, sugere timeouts de requisição, uma conexão interrompida ou pressão sobre os recursos.
  • Uma mensagem clara sobre quotas significa que o limite de armazenamento disponível no Nextcloud para o usuário, e não o limite de upload do servidor, é o obstáculo.

Esses são indícios, não diagnósticos conclusivos: um proxy pode substituir um erro de aplicativo, e os registros variam de acordo com a implantação. Compare os registros de data e hora em todas as camadas antes de editar a configuração.

2. Defina limites de PHP para envios de formulários do navegador

Localize a configuração PHP usada pelo processo Nextcloud voltado para a web. No Debian ou Ubuntu, um arquivo PHP-FPM típico fica em `/etc/ /etc/php/<version>/fpm/php.iniphp.php`; o Apache com mod_php geralmente usa um arquivo separado apache2/php.ini. A configuração da linha de comando do PHP pode ser diferente, portanto, editar php --iniapenas o arquivo `/etc/php.php` relatado por `php -f` pode não alterar o site. O guia de configuração PHP do Nextcloud descreve o contexto de configuração do lado do servidor.

Para um limite de 5 GB, revise estas configurações na configuração PHP ativa da web:

upload_max_filesize = 5G
post_max_size = 5G
max_input_time = 3600
max_execution_time = 3600

post_max_sizedeve ser pelo menos tão grande quanto upload_max_filesize; definir ambos para o mesmo valor é um ponto de partida prático para um upload multipart de um único arquivo. Os valores de tempo acima são exemplos, não uma garantia de que uma transferência será concluída: escolha uma duração que se adeque à sua largura de banda disponível e à sua política operacional. Não aumente o limite de upload do PHP memory_limitpara 5 GB apenas porque o arquivo tem 5 GB. A documentação do PHP max_input_timeinclui o tempo gasto recebendo a entrada de upload e o fato de que o comportamento do upload depende das diretivas relacionadas; consulte a documentação sobre armadilhas de upload do PHP .

3. Aumente o limite de requisições do servidor web.

Nginx com PHP-FPM

No bloco de servidor Nginx ativo para o Nextcloud, defina um limite para o tamanho do corpo da requisição acima do maior arquivo que você pretende aceitar. Para o exemplo de 5 GB:

client_max_body_size 5G;

Coloque-o no contexto apropriado http, serverevitando locationum valor menor conflitante em um bloco mais específico. O Nginx documenta essa diretiva em sua referência de módulo principal . O exemplo de instalação do Nginx no Nextcloud também inclui configurações de tamanho de upload e tempo limite. Valide a configuração com ` sudo nginx -tnginx -v` antes de recarregar o Nginx.

Apache

Verifique se o host virtual ativo, a configuração do diretório ou a configuração incluída definem o limite LimitRequestBody. Em versões do Apache onde o limite padrão ou explícito é menor que o seu alvo, aumente-o para a contagem de bytes necessária ou use 0a opção sem limite no nível do Apache somente se isso for aceitável para sua implementação. Confirme se a diretiva está em um contexto permitido pela sua versão e configuração do Apache. O Apache descreve seu comportamento na documentação do LimitRequestBody . Execute o comando apachectl configtestantes de recarregar o serviço.

4. Verifique proxies reversos, contêineres e armazenamento.

Se o tráfego passar por outra instância do Nginx, um balanceador de carga, um painel de controle de hospedagem ou um proxy de segurança, os limites de tamanho do corpo e tempo limite também devem permitir o upload. Uma solicitação pode ser rejeitada antes de chegar ao Nextcloud. Atualize apenas a camada que possui essa configuração e, em seguida, inspecione seus logs e código de resposta. Para Docker ou outra implantação de contêiner, altere a configuração montada no contêiner em execução ou as configurações de ambiente compatíveis com essa imagem; um arquivo PHP do host pode não ser usado pelo contêiner.

Uploads grandes também consomem recursos. Confirme se o volume de dados do Nextcloud tem espaço livre suficiente e se o diretório temporário do PHP ou do servidor web comporta a carga de trabalho. No caso de uploads em partes, pode ser necessário espaço temporário enquanto as partes são montadas; implantações com armazenamento de objetos podem precisar de disco temporário adicional. Planeje para uploads simultâneos, não apenas para um arquivo de tamanho máximo. Consulte a seção do Nextcloud sobre espaço temporário e uploads de arquivos grandes antes de aumentar o limite em uma instalação com alta demanda.

5. Aplique as alterações e verifique com um teste controlado.

Após a aprovação nas verificações de configuração, recarregue ou reinicie os serviços relevantes do PHP-FPM e do servidor web para que eles reconheçam as configurações atualizadas. Os nomes exatos dos serviços variam de acordo com a distribuição e a versão do PHP. Evite reiniciar serviços de produção não relacionados. Em seguida, faça o upload de um arquivo um pouco acima do limite anterior de 2 GB — como um arquivo de teste conhecido com cerca de 2,1 GB — usando o mesmo cliente e rota que falharam inicialmente. Mantenha o teste abaixo do novo limite e monitore o espaço livre em disco, os logs e o progresso da transferência.

Um teste bem-sucedido deve terminar sem erros de tamanho HTTP ou tempo limite excedido, aparecer na pasta Nextcloud correta e ter um tamanho de arquivo plausível quando verificado no cliente. Para arquivos importantes, compare o checksum na origem e no destino, se o seu fluxo de trabalho permitir. Uma barra de progresso que atinge 100% não garante que o arquivo armazenado esteja completo.

Quando essa solução não for suficiente

  • O upload pela web funciona, mas o cliente para desktop falha: verifique o comportamento de tempo limite do cliente, do proxy e do servidor. Os clientes Nextcloud usam uploads em partes (chunked uploads), portanto, alterar upload_max_filesizeapenas o PHP pode não resolver um problema de solicitação de partes ou tempo limite de montagem final.
  • O erro indica que o usuário está sem espaço: ajuste a cota do Nextcloud ou o armazenamento gratuito desse usuário; aumentar o limite de solicitações não criará capacidade.
  • A falha ocorre na mesma contagem de bytes para todos os clientes: procure por um proxy compartilhado, WAF, provedor de hospedagem ou limite de servidor web e correlacione seus registros com a solicitação.
  • Os uploads são concluídos, mas consomem muito espaço em disco temporário: reduza os uploads simultâneos, assegure-se de que o armazenamento temporário seja adequado ou revise o comportamento de fragmentação e armazenamento documentado para seu backend.

Aumentar o limite de upload expande a quantidade de dados que os usuários podem enviar para o servidor, portanto, deve ser combinado com cotas, monitoramento, armazenamento suficiente e controles de acesso adequados. Não existe um limite máximo seguro universal: o limite prático depende da velocidade mais baixa no caminho da requisição e da capacidade do servidor e do sistema de armazenamento.

Referências

Deixar um comentário

10 Melhores Ferramentas de Varredura de Ping para Encontrar Dispositivos na Sua Rede

10 Melhores Ferramentas de Varredura de Ping para Encontrar Dispositivos na Sua Rede

Compare 10 ferramentas de varredura de ping para descoberta rápida de LAN, varredura multiplataforma e gerenciamento de endereços IP. Saiba o que uma varredura pode — e não pode — revelar.

6 Melhores Ferramentas de Gerenciamento de Rede para Monitorar o Desempenho

6 Melhores Ferramentas de Gerenciamento de Rede para Monitorar o Desempenho

Compare seis ferramentas de gerenciamento de rede para monitoramento de desempenho, incluindo cobertura SNMP, mapeamento, alertas, modelos de implantação e custo-benefício.

Melhores analisadores de Wi-Fi para Windows, iOS e Android

Melhores analisadores de Wi-Fi para Windows, iOS e Android

Compare as melhores opções de analisadores de Wi-Fi para Windows, iPhone e Android, incluindo ferramentas para congestionamento de canais, cobertura de sinal, mapas de calor e solução de problemas de rede.

Monitor de Ping: 7 ferramentas gratuitas e de código aberto para disponibilidade de rede

Monitor de Ping: 7 ferramentas gratuitas e de código aberto para disponibilidade de rede

Compare sete monitores de ping gratuitos e de código aberto, desde suítes completas de rede até sondas de latência específicas, e escolha a opção mais adequada para disponibilidade, perda de pacotes e histórico.

Taxa de transferência de rede versus largura de banda: o que significam e como afetam o desempenho

Taxa de transferência de rede versus largura de banda: o que significam e como afetam o desempenho

Veja como a taxa de transferência de rede difere da largura de banda, o que causa desempenho lento ou instável e quais ferramentas podem testar um caminho ou monitorar o tráfego.

Melhor software de servidor SFTP para transferências seguras de arquivos

Melhor software de servidor SFTP para transferências seguras de arquivos

Compare softwares de servidor SFTP confiáveis ​​para Windows e Linux, incluindo OpenSSH, Bitvise, SolarWinds e SFTPGo. Encontre a solução ideal para suas necessidades de segurança e transferência de arquivos.

Melhores práticas de monitoramento de rede: o que monitorar e quais ferramentas usar

Melhores práticas de monitoramento de rede: o que monitorar e quais ferramentas usar

Crie um monitoramento de rede prático com cobertura clara de dispositivos, métricas de desempenho úteis, alertas acionáveis ​​e uma comparação entre SolarWinds NPM, PRTG e OpManager.

As 7 melhores ferramentas de gerenciamento de endereços IP para equipes de rede

As 7 melhores ferramentas de gerenciamento de endereços IP para equipes de rede

Compare sete ferramentas de gerenciamento de endereços IP para descoberta de sub-redes, coordenação de DNS e DHCP, inventário de rede e IPAM de código aberto.

10 Melhores Ferramentas de Varredura de Rede para Descobrir Dispositivos e IPs

10 Melhores Ferramentas de Varredura de Rede para Descobrir Dispositivos e IPs

Compare ferramentas de varredura de rede para descoberta rápida de dispositivos, varreduras de IP multiplataforma e IPAM corporativo, com orientações sobre como escolher a opção mais adequada para sua rede.

6 ferramentas de monitoramento de rede Linux para dispositivos, hosts e tráfego.

6 ferramentas de monitoramento de rede Linux para dispositivos, hosts e tráfego.

Compare seis ferramentas de monitoramento de rede Linux para descoberta de dispositivos SNMP, gráficos de interface, métricas de host, verificação de serviços e fluxos de tráfego.