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;

Works:
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.


Greetings
-- 
Tobias Lott





More information about the nginx mailing list