• Serveurs
  • [Résolu] Ajax long request nginx 502 bad gateway

Bonjour à tous, avant de commencer, si ce type de sujet n'est pas accepté sur MDD, je vous laisse l'honneur de delete le post 🙂

Je rencontre un problème avec une fonction AJAX qui execute un script PHP, et qui dure entre 5 et 30 secondes suivant les paramètres envoyés.

Le problème est que cette fonction AJAX échoue lorsqu'elle dépasse généralement les 12 secondes, avec une erreur en 502 bad gateway nginx.

function Create(identifiant,taille) {
             
            $.post("ajax/create.php", { identifiant: identifiant, taille: taille},
            function(data) {
             $('#resultscreate').html(data);
            });
      }

Pour faire simple voila ce que fais la requête :

Fonction Ajax -> Script PHP -> Connexion SSH vers un serveur distant -> Execution Script Bash (qui peut durer 30 scd) -> Retour sur le resultat -> Affichage

Mes paramètres NGINX coté Serveur et Serveur distant :

fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;

Pour information j'utilise CloudFlare, mais même en deconnectant mes serveurs de CloudFlare ( mode pause ) , le problème est identique.

Dans les logs nginx error.log voila le résultat :

failed (104: Connection reset by peer) while reading response header from upstream

Si vous avez une idée je suis preneur 🙂

hydrog3n Hum bien vue 😉

Voila le retour :

May 18 23:22:09 mail php-fpm[750]: [WARNING] [pool inet] child 25703, script '/var/www/create.php' (request: "POST /ajax/create.php") executing too slow (12.938408 sec), logging
May 18 23:22:09 mail php-fpm[750]: [NOTICE] child 25703 stopped for tracing
May 18 23:22:09 mail php-fpm[750]: [NOTICE] about to trace 25703
May 18 23:22:09 mail php-fpm[750]: [NOTICE] finished trace of 25703
May 18 23:22:12 mail php-fpm[750]: [WARNING] [pool inet] child 25703, script '/var/www/create.php' (request: "POST /ajax/create.php") execution timed out (16.272764 sec), terminating
May 18 23:22:12 mail php-fpm[750]: [WARNING] [pool inet] child 25703 exited on signal 15 (SIGTERM) after 27.753562 seconds from start
May 18 23:22:12 mail php-fpm[750]: [NOTICE] [pool inet] child 25883 started
May 18 23:22:17 mail php-fpm[750]: [NOTICE] [pool inet] child 25740 exited with code 0 after 27.005774 seconds from start
May 18 23:22:17 mail php-fpm[750]: [NOTICE] [pool inet] child 25918 started
May 18 23:22:23 mail php-fpm[750]: [NOTICE] [pool inet] child 25760 exited with code 0 after 29.990996 seconds from start
May 18 23:22:23 mail php-fpm[750]: [NOTICE] [pool inet] child 25958 started

Donc en faite c'est PHP qui me gercle 🙁

hydrog3n Yaouh ! 🙂 Merci hydrog3n pour cette réponse "Read the fucking manual 🙂 ".

J'ai appliquer les directives coté PHP :

location ~ \.php$ {	
	fastcgi_read_timeout 60; //CELLE-CI
}

Dans : /etc/php7.X/fpm/pool.d/www.conf :

request_terminate_timeout = 60s

Dans NGINX j'ai laissé celles indiqués dans mon 1er message, puis reboot de nginx et php et voila 🙂
Sa fonctionne !
Merci 🙂

Whisper40 a renommé le titre en [Résolu] Ajax long request nginx 502 bad gateway.
Répondre…