correction de l'envoi de gros fichiers depuis le backend / délais d'attente / téléchargements interrompus
Les clients se plaignaient de ne pas pouvoir télécharger de gros fichiers à partir de nos sites web (par exemple, PiDoctor sur PiCockpit.com).
Au départ, je n'ai pas pu reproduire le problème localement, les fichiers semblaient se télécharger correctement.
Après une enquête plus approfondie, j'ai déterminé que les téléchargements s'interrompaient au bout d'un certain temps, en fonction de la vitesse de téléchargement, ce qui signifie que pour certains clients, les téléchargements échouaient.
Comme j'ai une connexion assez rapide, les téléchargements fonctionnent pour moi.
Le délai d'attente s'avère être 15 secondes.
Un message de débogage de envoy pourrait ressembler à quelque chose comme ceci :
penvoyage-athena-envoy | [2020-06-27 16:18:57.492][21][debug][router] [source/common/router/router.cc:681] [C37][S12388594366303232323] timeout amont
Une recherche plus approfondie dans la documentation d'Envoy a montré que, en effet, il y avait un tel délai par défaut :
Par conséquent, le délai d'attente doit être fixé à 0s pour la route respective :
ou un autre avec plus de contexte :
en texte clair :
route_config :
virtual_hosts :
- nom : backend
domaines : ["*"]
routes :
- match : {préfixe : "/.well-known/acme-challenge/"}
route :
cluster : target_certbot
timeout : 0s
Définissez ce délai d'attente par itinéraire pour permettre les gros téléchargements sans délai d'attente. Gardez vos clients heureux, et ils vous garderont heureux.