Nginx Timeout : Configuration

Résoudre les problèmes de timeout avec Nginx.

Nginx agit souvent comme reverse proxy devant PHP-FPM, Node.js ou d'autres backends. Si le backend est trop lent, Nginx renvoie une erreur 504 Gateway Timeout. Voici comment configurer correctement.

Symptômes

  • Erreur "504 Gateway Timeout"
  • Requêtes longues qui échouent
  • Uploads qui timeout
  • Connexions fermées prématurément

Causes Fréquentes

  • Backend trop lent : PHP-FPM ou l'application met trop de temps à répondre.
  • Timeout trop court : Les directives Nginx sont configurées avec des valeurs trop basses.
  • Connexion au backend : Le socket ou le port du backend ne répond pas.

Étapes de Diagnostic

  1. Vérifiez les logs Nginx (error.log)
  2. Testez l'accès direct au backend (curl localhost:9000)
  3. Examinez les valeurs de timeout actuelles
  4. Vérifiez que PHP-FPM tourne (systemctl status php-fpm)

Automatiser avec MoniTao

MoniTao détecte les timeouts :

  • Surveillance HTTP avec timeout configurable
  • Alertes sur les erreurs 504
  • Historique des temps de réponse

Bonnes Pratiques

  • Configurez proxy_read_timeout selon vos besoins
  • Alignez les timeouts Nginx avec PHP max_execution_time
  • Utilisez des valeurs plus longues pour les uploads
  • Mettez les opérations longues en background (queue)

Questions Fréquentes

Quelles directives timeout dans Nginx ?

proxy_connect_timeout, proxy_send_timeout, proxy_read_timeout, fastcgi_read_timeout.

Quelle valeur par défaut ?

60 secondes par défaut. Ajustez selon vos opérations les plus longues.

Comment augmenter pour les uploads ?

Utilisez client_max_body_size et augmentez les timeouts dans le location concerné.

MoniTao peut-il tester avec des timeouts longs ?

Oui, configurez le timeout dans les paramètres du monitor.

Prêt à dormir sur vos deux oreilles ?

Commencez gratuitement, sans carte bancaire.