# 504 error Gateway Timeout

**URL:** <https://www.ruby-forum.com/t/504-error-gateway-timeout/204628>\
**Category:** NGINX\
**Created:** [March 17, 2011, 5:53am UTC](https://www.ruby-forum.com/t/504-error-gateway-timeout/204628 "2011-03-17T05:53:06Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![dubstep](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/cdc98d/32.png) [@dubstep](https://www.ruby-forum.com/u/dubstep)\
**Post date:** [March 17, 2011, 5:53am UTC](https://www.ruby-forum.com/t/504-error-gateway-timeout/204628/1 "2011-03-17T05:53:06Z")

</div>

HI;

I’m using Nginx in a reverse proxy setup with Apache. I’m having a  
problem when I submit a large upload via php; while Mogrify is  
processing the photo upload, Nginx returns a 504 error - Gateway  
Timeout.

I tried adding in proxy\_read\_timeout 600; proxy\_send\_timeout 600;, but  
I am still having the same problem.

I’ve searched for answers for quite a few hours now, and am at a loss.  
All of my PHP memory and time out settings are quite high.

It works when I do smaller uploads. It is the ones that take Mogrify  
more than about 60 to 90 seconds to process that cause the error.  
(uploads of over about 50 MB of images).

I was able to upload / process with this system prior to installing  
Nginx. Please let me know if you want to see a copy of my config file  
or any other information.

Thank You Kindly;

Jamie

---

<div class="post-metadata">

**Author:** ![Jamie\_Dolan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/a9a28c/32.png) [@Jamie\_Dolan](https://www.ruby-forum.com/u/Jamie_Dolan)\
**Post date:** [March 19, 2011, 7:51pm UTC](https://www.ruby-forum.com/t/504-error-gateway-timeout/204628/2 "2011-03-19T19:51:10Z")

</div>

This things should be fine. Please post your entire config.

–  
Regards, Vitaly T.  
System A.  
U.S. +1 (206) 905-9939  
Russia +7 911 094-2035

---

<div class="post-metadata">

**Author:** ![Jamie\_Dolan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/a9a28c/32.png) [@Jamie\_Dolan](https://www.ruby-forum.com/u/Jamie_Dolan)\
**Post date:** [March 19, 2011, 8:15pm UTC](https://www.ruby-forum.com/t/504-error-gateway-timeout/204628/3 "2011-03-19T20:15:36Z")

</div>

> On Sat, Mar 19, 2011 at 1:49 PM, Vitaly T. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:  
> This things should be fine. Please post your entire config.  
> Regards, Vitaly T.  
> System A.  
> U.S. +1 (206) 905-9939  
> Russia +7 911 094-2035

Thank You. This is my config file:

user nobody;

# no need for more workers in the proxy mode

worker\_processes 4;  
error\_log /var/log/nginx/error.log info;  
worker\_rlimit\_nofile 20480;  
events {  
worker\_connections 5120; # increase for busier servers  
use epoll; # you should use epoll here for Linux kernels 2.6.x  
}  
http {  
server\_name\_in\_redirect off;  
server\_names\_hash\_max\_size 2048;  
server\_names\_hash\_bucket\_size 256;  
include mime.types;  
default\_type application/octet-stream;  
server\_tokens off;  
sendfile on;  
tcp\_nopush on;  
tcp\_nodelay on;  
keepalive\_timeout 60;  
gzip on;  
gzip\_vary on;  
gzip\_disable “MSIE [1-6].”;  
gzip\_proxied any;  
gzip\_http\_version 1.1;  
gzip\_min\_length 0;  
gzip\_comp\_level 6;  
gzip\_buffers 16 8k;

# You can remove image/png image/x-icon image/gif image/jpeg if you

have slow CPU  
gzip\_types text/plain text/xml text/css application/x-javascript  
application/xml image/png image/x-icon image/gif image/jpeg  
application/xml+rss text/javascript application/atom+xml;  
ignore\_invalid\_headers on;  
client\_header\_timeout 3m;  
client\_body\_timeout 3m;  
send\_timeout 3m;  
reset\_timedout\_connection on;  
connection\_pool\_size 256;  
client\_header\_buffer\_size 256k;  
large\_client\_header\_buffers 4 256k;  
client\_max\_body\_size 4M;  
client\_body\_buffer\_size 128k;  
request\_pool\_size 32k;  
output\_buffers 4 32k;  
postpone\_output 1460;  
proxy\_temp\_path /tmp/nginx\_proxy/;  
client\_body\_in\_file\_only on;  
log\_format bytes\_log “$msec $bytes\_sent .”;  
include “/etc/nginx/vhosts/\*”;  
}

Regards;

Jamie

---

<div class="post-metadata">

**Author:** ![Jamie\_Dolan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/a9a28c/32.png) [@Jamie\_Dolan](https://www.ruby-forum.com/u/Jamie_Dolan)\
**Post date:** [March 20, 2011, 9:17am UTC](https://www.ruby-forum.com/t/504-error-gateway-timeout/204628/4 "2011-03-20T09:17:47Z")

</div>

> http {

proxy\_read\_timeout 600;  
proxy\_send\_timeout 600;

> server\_name\_in\_redirect off;  
> server\_names\_hash\_max\_size 2048;  
> server\_names\_hash\_bucket\_size 256;

I added the above proxy read and proxy send lines. I had just  
reinstalled this morning after doing some testing and accidentally  
sent you the file without those added.

Thanks,

Jamie

---

<div class="post-metadata">

**Author:** ![Jamie\_Dolan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/a9a28c/32.png) [@Jamie\_Dolan](https://www.ruby-forum.com/u/Jamie_Dolan)\
**Post date:** [March 20, 2011, 10:19am UTC](https://www.ruby-forum.com/t/504-error-gateway-timeout/204628/5 "2011-03-20T10:19:06Z")

</div>

Fine. But please note, this is only part of configuration. There are  
some files regarding to directive:  
/etc/nginx/vhosts/\*

Please include them also.

–  
Regards, Vitaly T.  
System A.  
U.S. +1 (206) 905-9939  
Russia +7 911 094-2035

---

<div class="post-metadata">

**Author:** ![Jamie\_Dolan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/a9a28c/32.png) [@Jamie\_Dolan](https://www.ruby-forum.com/u/Jamie_Dolan)\
**Post date:** [March 20, 2011, 10:10am UTC](https://www.ruby-forum.com/t/504-error-gateway-timeout/204628/6 "2011-03-20T10:10:58Z")

</div>

maybe is apache or php close the connection, for example exceed php max  
file upload size or php max running time.

Posted at Nginx Forum:

> **[Re: 504 error Gateway Timeout.](https://forum.nginx.org/read.php?2,183412,184120#msg-184120)**
>
> HI; I'm using Nginx in a reverse proxy setup with Apache. I'm having a problem when I submit a large upload via php; while Mogrify is processing the photo upload, Nginx returns a 504 error - Gateway Timeout. I tried adding in proxy\_read\_timeout 600;...

---

<div class="post-metadata">

**Author:** ![Jamie\_Dolan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/a9a28c/32.png) [@Jamie\_Dolan](https://www.ruby-forum.com/u/Jamie_Dolan)\
**Post date:** [March 20, 2011, 8:22pm UTC](https://www.ruby-forum.com/t/504-error-gateway-timeout/204628/7 "2011-03-20T20:22:57Z")

</div>

> Fine. But please note, this is only part of configuration. There are some  
> files regarding to directive:  
> /etc/nginx/vhosts/\*  
> Please include them also.

This is the vhost file for the site I am working on:

server {  
error\_log /var/log/nginx/vhost-error\_log warn;  
listen 173.255.200.107:80;  
server\_name [pawdogs.com](http://pawdogs.com) [www.pawdogs.com](http://www.pawdogs.com);  
access\_log /usr/local/apache/domlogs/pawdogs.com-bytes\_log  
bytes\_log;  
access\_log /usr/local/apache/domlogs/pawdogs.com combined;  
root /home/pawdogs/public\_html;  
location / {  
location  
~._.(3gp|gif|jpg|jpeg|png|ico|wmv|avi|asf|asx|mpg|mpeg|mp4|pls|mp3|mid|wav|swf|flv|html|htm|txt|js|css|exe|zip|tar|rar|gz|tgz|bz2|uha|7z|doc|docx|xls|xlsx|pdf|iso)$  
{  
expires 7d;  
try\_files $uri @backend;  
}  
error\_page 405 = @backend;  
add\_header X-Cache “HIT from Backend”;  
proxy\_pass [http://173.255.200.107:8081](http://173.255.200.107:8081);  
include proxy.inc;  
}  
location @backend {  
internal;  
proxy\_pass [http://173.255.200.107:8081](http://173.255.200.107:8081);  
include proxy.inc;  
}  
location ~ ._.(php|jsp|cgi|pl|py)?$ {  
proxy\_pass [http://173.255.200.107:8081](http://173.255.200.107:8081);  
include proxy.inc;  
}  
location ~ /.ht {  
deny all;  
}

Thank You

Jamie

---

<div class="post-metadata">

**Author:** ![Jamie\_Dolan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/a9a28c/32.png) [@Jamie\_Dolan](https://www.ruby-forum.com/u/Jamie_Dolan)\
**Post date:** [March 20, 2011, 9:32pm UTC](https://www.ruby-forum.com/t/504-error-gateway-timeout/204628/8 "2011-03-20T21:32:33Z")

</div>

On 3/20/2011 10:21 PM, Jamie Dolan wrote:

> include proxy.inc;

–  
Regards, Vitaly T.  
System A.  
U.S. +1 (206) 905-9939  
Russia +7 911 094-2035

---

<div class="post-metadata">

**Author:** ![Jamie\_Dolan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/a9a28c/32.png) [@Jamie\_Dolan](https://www.ruby-forum.com/u/Jamie_Dolan)\
**Post date:** [May 17, 2011, 4:31pm UTC](https://www.ruby-forum.com/t/504-error-gateway-timeout/204628/9 "2011-05-17T16:31:45Z")

</div>

Hi guys,

I have the exactly same issue.  
What about include proxy.inc ?

Those are my values :  
proxy\_connect\_timeout 90;  
proxy\_send\_timeout 90;  
proxy\_read\_timeout 90;  
proxy\_buffer\_size 4k;  
proxy\_buffers 4 32k;  
proxy\_busy\_buffers\_size 64k;  
proxy\_temp\_file\_write\_size 64k;

Use it with Magento on a VPS and always need to restart APACHE

Thanks for the help,

Antoine

---

<div class="post-metadata">

**Author:** ![Jamie\_Dolan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/a9a28c/32.png) [@Jamie\_Dolan](https://www.ruby-forum.com/u/Jamie_Dolan)\
**Post date:** [March 20, 2011, 11:19pm UTC](https://www.ruby-forum.com/t/504-error-gateway-timeout/204628/10 "2011-03-20T23:19:34Z")

</div>

> > include proxy.inc;  
> > Regards, Vitaly T.

That was it! It’s all working now.

Thank You so much for your help.

Regards;

Jamie Dolan  
Neenah, WI
