Increasing 504 timeout error
111,337
Solution 1
Depending on the kind of gateway you have you should use something like:
proxy_read_timeout 600s;
Check docs: http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_read_timeout
Solution 2
If it is a fastcgi
timeout error, then you need to increase the fastcgi_read_timeout
.
# /etc/nginx/conf.d/example.com.conf
server {
location ~ \.(php)$ {
fastcgi_pass unix:/var/run/php74-example.com.sock;
fastcgi_read_timeout 300s;
error log) upstream timed out
# tail -f example.com.error.log
2020/12/29 14:51:42 [error] 30922#30922:
*9494 upstream timed out (110: Connection timed out) while reading response header from upstream,
...
upstream: "fastcgi://unix:/var/run/php74-example.com.sock",
...
nginx manual)
Default: fastcgi_read_timeout 60s;
Context: http, server, location
http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_read_timeout
Result of calling a script that runs for longer then 60 seconds in Chrome DevTools.
default 60s
fastcgi_read_timeout 300s
Author by
Matthew Jones
Updated on July 05, 2022Comments
-
Matthew Jones almost 2 years
Is there any way I can make the error 504 gateway timeout longer if so how and where is the file to change it located. I am using nginx on centos 6
-
fungusanthrax almost 3 yearsIn my case, I was using nginx with a load balancer, so I had to update the haproxy config to increase the server timeout
timeout server 3000s
-
-
Jakob Runge over 8 yearsI found that scalescale.com/tips/nginx/504-gateway-time-out-using-nginx has some additional timeout settings mentioned. That could also be helpful in this regard.
-
kworr over 8 yearsWell I tried to answer the question first. Other options mentioned there are not about nginx or not about fixing error 504 (except *_connect_timeout porbably... but that's rather about network connection issues).
-
Jakob Runge over 8 yearsYes, I'm aware of that and I also found your answer helpful a good deal to me. Just thought that the additional info might help others as well .)
-
David Lin over 6 yearsdo you need to put 's' to the time ?
proxy_read_timeout 60s;
-
kworr over 6 years@DavidLin, you are right, though seconds are default, measurement units should be added per nginx.org/en/docs/syntax.html
-
DavidR almost 6 yearsMake sure to create a new file and add it to /nginx/conf.d/ folder rather than editing /nginx/nginx.conf folder directly. This is better for portability and to easily see and edit past changes.