correção de enviado para servir grandes arquivos do backend / timeouts / downloads abortados

Os clientes queixavam-se de não poderem descarregar grandes ficheiros dos nossos sites (por exemplo, PiDoctor no PiCockpit.com).

Inicialmente eu não podia replicar o problema localmente, os arquivos pareciam estar baixando bem.

Após mais investigações, determinei que os downloads seriam cortados após um certo tempo - dependendo da velocidade de download, assim, para alguns clientes os downloads falhariam.

Porque eu tenho uma conexão razoavelmente rápida, para mim os downloads funcionariam.

O tempo esgotado acaba por ser 15 segundos.

Uma mensagem de depuração do enviado pode parecer algo parecido com isto:

penvoyage-athena-envoy | [2020-06-27 16:18:57.492][21][debug][router] [source/common/router/router.cc:681] [C37][S12388594366303232323] upstream timeout


Uma investigação mais aprofundada com a documentação do Enviado mostrou que, de facto, houve um tempo limite por defeito:

imagem

Portanto, o timeout precisa ser definido como 0s para a respectiva rota:

imagem

ou um com mais contexto:

imagem

em texto claro:

route_config:
   virtual_hosts:
   - nome: backend
     domínios: [“*”]
     rotas:
     - ...partida: Prefixo: "/.well-known/acme-challenge/"}
       rota:
         cluster: target_certbot
         tempo esgotado: 0s

Defina este timeout por rota para permitir grandes downloads sem timeouts. Mantenha seus clientes felizes, e eles o manterão feliz.

Ref