Did I got try_files wrong? and bad gateway 502

Maxim Dounin mdounin at mdounin.ru
Tue Jul 7 06:06:10 MSD 2009


Hello!

On Mon, Jul 06, 2009 at 11:52:02PM +0200, Tobias Lott wrote:

> 
> 
> On Mon, 6 Jul 2009 13:29:58 -0700
> Michael Shadle <mike503 at gmail.com> wrote:
> 
> > Check the nginx error log for what the message is when you hit those
> > 502's.
> > 
> > Perhaps apache is too busy to service the request or is sending
> > malformed resposne etc?
> > 
> > On Mon, Jul 6, 2009 at 3:03 AM, Tobias Lott<tlott at gamesnet.de> wrote:
> > >
> > >
> > > On Sun, 5 Jul 2009 21:39:44 -0700
> > > Michael Shadle <mike503 at gmail.com> wrote:
> > >
> > >> On Sun, Jul 5, 2009 at 8:37 PM, Tobias Lott<tlott at gamesnet.de>
> > >> wrote:
> > >>
> > >> > Additionally I got another issue, which is that customers getting
> > >> > 502s pretty damn randomly (using nginx-0.7.61 as frontend and
> > >> > apache 2.2.11 as backend for the time being, which gonna gets
> > >> > migrated soon). Was trying to tweak a lil with proxy_*_timeout
> > >> > and keepalive_timeout but since its not reproducible I can't be
> > >> > sure its fixed, are there some "good to go" values or another
> > >> > option to check?
> > >>
> > >> Is it nginx giving the 502 or apache?
> > >>
> > >
> > > nginx is giving the 502
> > >
> > > --
> > > Tobias Lott
> > >
> > >
> > 
> 
> The only error log entry thats consistent with the 502 is the
> following, but its not the same file, one type of file, same client:
> 
> 2009/07/06 22:48:20 [crit] 86851#0: *183664 connect() to
> XX.XX.XX.XX:XX failed (1: Operation not permitted) while connecting
> to upstream, client: XX.XX.XX.XX, server: hostname.tld, request:
> "GET /some/random/picture.jpg HTTP/1.1", upstream:
> "http://XX.XX.XX.XX:XX/some/random/picture.jpg",
> host: "hostname.tld", referrer: "http://hostname.tld/some/"

This is EPERM, and most typical reasons include statefull firewall 
between nginx frontend and backend or timewait reuse switched off.

If it's statefull firewall - remove it or convert to non-statefull 
one.

If it's timewait issue - switch on timewait reuse/recycle (see your OS 
tuning guides to find out how).

> There is nothing in Apache error/access log at that time.

Since nginx wasn't allowed to connect() - it's somewhat expected.

Maxim Dounin





More information about the nginx mailing list