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
- Vérifiez les logs Nginx (error.log)
- Testez l'accès direct au backend (curl localhost:9000)
- Examinez les valeurs de timeout actuelles
- 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.
Liens utiles
Prêt à dormir sur vos deux oreilles ?
Commencez gratuitement, sans carte bancaire.