502 bad gateway on nginx with recv() failed

Naresh V nareshov at gmail.com
Fri Oct 22 15:50:19 EDT 2010


Hi,

I'm serving the puppetmaster application with its config.ru through
unicorn - proxied by nginx.
I'm using unix sockets, 4 workers, and 2048 backlog.

The clients - after their typical "puppet run" - send back a report to
the master in YAML.
Some clients whose reports tend to be large (close to 2mb) get a 502
bad gateway error and error out.

nginx log:

2010/10/22 14:20:27 [error] 19461#0: *17115 recv() failed (104:
Connection reset by peer) while reading response header from upstream,
client: 1x.yy.zz.x4, server: , request: "PUT /production/report/nagios
HTTP/1.1", upstream:
"http://unix:/tmp/.sock:/production/report/nagios", host:
"puppet:8140"

I was getting the same thing earlier when I had unicorn listening on
TCP sockets instead of UNIX sockets. And I had a lot of connections in
TIME_WAIT:

tcp        0      0 127.0.0.1:8141              127.0.0.1:54507
     TIME_WAIT   -
tcp        0      0 127.0.0.1:8141              127.0.0.1:57322
     TIME_WAIT   -

Fluctuating all the way from 20 to 800. A quick restart of nginx
tended to bring the number down.


-Naresh V.


More information about the mongrel-unicorn mailing list