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