Did I got try_files wrong? and bad gateway 502

Tobias Lott tlott at gamesnet.de
Mon Jul 6 07:37:27 MSD 2009

Hey Folks

I got a problem understanding try_files I guess.

Got this as configuration :

location = / { rewrite ^(.*)$ /shop/ redirect; }

location / {
	proxy_pass  http://backend:10060;
	proxy_set_header  X-Real-IP  $remote_addr;
	proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_set_header Host $http_host;
	proxy_redirect off;
	proxy_connect_timeout      90;
	proxy_send_timeout         90;
	proxy_read_timeout         120;

Problem is that I cant "catch" all 404 and rewrite it
to /shop/index.php but with "if" (which I shouldn't use cause of
possible performance issues, Igor mentioned I think.)

Doesn't work:
try_files $uri $uri/ /shop/index.php;
error_page 404 /shop/index.php;

if (!-f $request_filename) { rewrite ^(.*)$  /shop/index.php
redirect; }

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?

Thanks so much Igor for that godly piece of software and all involved.

Tobias Lott

More information about the nginx mailing list