Pular para o conteúdo principal

Limite de upload

Um upload passa por várias camadas antes de chegar ao Signer. Cada camada tem o seu próprio limite de tamanho. O upload só funciona se o arquivo couber em todas elas. Por padrão, o Signer aceita arquivos de até 100 MB.

As camadas​

CamadaConfiguraçãoPadrãoO que acontece quando o arquivo passa do limite
Interface webGeneral:MaxFileSize104857600 (100 MB)A tela mostra Limite de tamanho atingido antes de enviar o arquivo
Servidor do Signer (Kestrel ou IIS in-process)General:MaxUploadSizeInBytes106954752 (102 MB)O servidor recusa a requisição com o código de status 413
IISmaxAllowedContentLength no web.config1073741824 (1 GB)O IIS recusa a requisição antes de ela chegar ao Signer
Proxy reverso (Nginx)client_max_body_size1m (1 MB), se a diretiva não existirO Nginx recusa a requisição com o código de status 413

A interface web envia os arquivos maiores que General:SegmentedUploadThresholdMB (padrão: 10 MB) em partes. Por isso, um proxy com limite pequeno pode funcionar na interface web e falhar nas chamadas da API, que enviam o arquivo inteiro em uma requisição.

Como aumentar o limite​

Siga os passos para o tamanho que você quer aceitar. O exemplo usa 200 MB (209715200 bytes).

  1. Na seção General, defina MaxFileSize com o tamanho do arquivo:

    "General": {
    "MaxFileSize": 209715200,
    "MaxUploadSizeInBytes": 210763776
    }
  2. Defina MaxUploadSizeInBytes com pelo menos 1 MB (1048576 bytes) a mais que MaxFileSize. Essa folga cobre o envelope da requisição multipart (o formato que carrega o arquivo e os outros campos do formulário).

  3. Se o Signer roda no IIS e o tamanho passa de 1 GB, aumente maxAllowedContentLength no web.config da pasta do site. O pacote do Signer traz esse arquivo. A cada atualização, refaça a alteração.

  4. Se há um Nginx na frente do Signer, defina client_max_body_size com o mesmo valor de MaxUploadSizeInBytes no bloco server do site:

    client_max_body_size 201m;

    Faça o mesmo em qualquer outro proxy ou balanceador de carga entre o usuário e o Signer.

  5. Reinicie o Signer e recarregue o Nginx (nginx -s reload).

aviso

Edite o arquivo JSON com um editor de texto simples. Aspas curvas (“ e ”), comuns em texto copiado de um e-mail ou documento, deixam o JSON inválido, e a aplicação não inicia.

observação

Arquivos de centenas de MB usam mais memória e tempo no processamento do documento. Teste o tamanho que você quer aceitar em homologação antes de mudar a produção.

Armazenamento​

O Signer guarda o arquivo original e as versões que o documento ganha durante o fluxo, como as versões assinadas. O espaço usado por um documento é maior que o tamanho do arquivo enviado. Considere isso ao aumentar o limite e ao planejar o Blob Storage.

Veja também​

Ver em Markdown