Re: nginx et erreur en upload

Top Page

Reply to this message
Author: Yves Martin
Date:  
To: GUILDE
Subject: Re: nginx et erreur en upload
On Thu, 2018-12-06 at 19:51 +0100, Patrice Karatchentzeff wrote:
> Salut
>
> Sur un serveur nginx avec PHP, j'ai l'erreur suivante dans les logs :
>
> 784 upstream prematurely closed connection while reading response
> header from upstream,
> Le serveur est réglé en fastcgi.
>
> J'ai essayé différents réglages, mais je continue d'avoir cette
> erreur
> pour plein de fichiers, pas forcément des gros (parfois 5 Mo, parfois
> plus).
>
> L'upload est assez lente à cause de la ligne, mais excède rarement
> quelques minutes. Même avec des durées de process de 3600, j'ai ce
> type d'erreur. J'ai augmenté la taille des paquets de buffer aussi.
>
> Beaucoup de gens ont ce genre de soucis, mais chacun avec une config
> spécifique et des réponses ad hoc.
>
> Ici, c'est un serveur nextcloud.
>
> Avez-vous une piste ?
> Merci
> PK


Effectivement c'est l'erreur passe-partout. Dans mon cas, une exception
Python masquée par Flask... jusqu'à ce que j'en découvre la trace avec
"strace" ("write" sur fd 2) et donc que j'active la verbosité du log -
bien sûr après avoir essayé quantités de réglages de timeout et buffers
dans uwsgi et nginx, dans le genre:

    client_max_body_size           128M;
    keepalive_timeout              240;
    large_client_header_buffers    8 32k;
        uwsgi_buffer_size          256k;
        uwsgi_buffers              8 64k;
        uwsgi_busy_buffers_size    256k;
        uwsgi_read_timeout         240;
        uwsgi_send_timeout         240;



Pour ton problème de PHP, en augmentant la verbosité, il faudrait
vérifier si l'exécution pourrait être interrompue après avoir atteint
la limite d'allocation mémoire - c'est le plus fréquent il me semble.

Et sinon je t'invite donc à attacher un strace à ton process PHP, c'est
hardcore mais ça peut donner des pistes.

--
Yves Martin