Description
Le serveur web nginx affiche une “belle page blanche” avec la mention Error 504: Gateway timeout !
Cette erreur indique que le serveur web nginx agit comme une passerelle et ne peut délivrer le contenu. Le serveur ne peut traiter dans un temps imparti la requête demandée, la connexion est alors fermée.
Il peut y avoir plusieurs raisons, un élément réseau défectueux, mais aussi un des paramètres suivants mal configurés :
Si vous utilisez PHP-FPM, vérifiez les écritures des directives :
fastcgi_*_timeout
proxy_*_timeout
send_timeout
Par défaut, toutes ces directives sont de 60 secondes. Des valeurs, en temps de secondes, trop basses impactent le serveur nginx et lui empêchent de délivrer la requête…
Exemple, augmentez dans votre contexte http
:
proxy_connect_timeout 600;
proxy_read_timeout 600;
proxy_send_timeout 600;
send_timeout 600;
Et, concernant le contexte location
lié à PHP, ajoutez, par exemple :
fastcgi_connect_timeout 330;
fastcgi_read_timeout 330;
fastcgi_send_timeout 330;
Ceci étant fait, redémarrez le serveur !
Documentations
- https://nginx.org/en/docs/http/ngx_http_core_module.html#send_timeout
- https://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_connect_timeout
- https://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_read_timeout
- https://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_send_timeout
- https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_connect_timeout
- https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_read_timeout
- https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_send_timeout