Not sure if it's passing to the proxy properly

Hi,

I am passing my requests like this
if ( -f $request_filename){
expires 30d;
break;
}
proxy_pass http://127.0.0.1:20000;

However Apache is still serving everything (images included). How can I
get
it to move only through nginx (for images and other files).

James

Hello!

On Fri, Feb 05, 2010 at 02:43:58AM -0500, James Matthews wrote:

it to move only through nginx (for images and other files).
Try this:

location / {
    try_files $uri @fallback;
    expires 30d;
}

location @fallback {
    proxy_pass  http://127.0.0.1:20000;
}

Maxim D.

On Fri, Feb 05, 2010 at 12:30:12PM +0300, Maxim D. wrote:

}
}

location @fallback {
    proxy_pass  http://127.0.0.1:20000;
}

And do not forget about “root”. Probably this was a cause why

if (-f $request_filename) {

did not work. However, anyway you should use try_files instead of “if”.


Igor S.
http://sysoev.ru/en/

Hello!

On Fri, Feb 05, 2010 at 12:35:45PM +0300, Igor S. wrote:

    expires 30d;
    try_files $uri @fallback;

did not work. However, anyway you should use try_files instead of “if”.

In the original config proxy_pass is configured at location level,
and “if” won’t “de-configure” it (r->content_handler will be set at
location level, and will be used inside implicit location created
by “if”).

There is nothing wrong in original config, it works as expected.
It just doesn’t prevent proxy_pass from executing.

Maxim D.