question about proxy_store

eliott eliott at cactuswax.net
Mon Jan 28 09:31:54 MSK 2008


That might work with some tweaking.

My problem is that the upstream cache doesn't have a target for a
http://domain.com/foo/index.html request, just the
http://domain.com/foo/
(django app with the django url routing)

Maybe I can add another rewrite clause in the /fetch/ location, to
strip off an ending index.html before the request hits the proxy.

On 1/27/08, Igor Sysoev <is at rambler-co.ru> wrote:
> On Sat, Jan 26, 2008 at 07:18:26PM -0800, eliott wrote:
>
> > I am having problems with proxy being unable to store pages that do
> > not have a file extension (such as a directory or "nice url").
> >
> > 1. User requests http://domain.com/page/hello/
> > 2. nginx looks in the root, can not find the page.
> > 3. nginx uses the error page, which then calls a proxy pass inside a location
> > 4. nginx fetches the page.
> > 5. nginx cannot save the results, because it is /page/hello/
> >    nginx does create the /page/hello/ directory inside the proxy_store
> > directory though.
> >
> > ####
> >
> > It could very well be a problem with my configuration. It works for
> > urls with file extensions.
> >
> >         location ^~ /fetch/ {
> >             internal;
> >             include  proxy.conf;
> >             proxy_set_header  X-Real-IP $remote_addr;
> >             proxy_pass http://127.0.0.1:9001/;
> >             proxy_store /var/www/data/domain.com$uri;
> >             proxy_store_access user:rw group:rw all:r;
> >         }
> >
> >         location / {
> >             root /var/www/data/doman.com/fetch;
> >             error_page 404 = /fetch$uri;
> >         }
>
> You may try
>
>           location / {
>               root /var/www/data/doman.com/fetch;
>               set     $fetch   /fetch$uri;
>               error_page 404 = $fetch;
>           }
>
>           location ~ /$ {
>               index   index.html;
>               root /var/www/data/doman.com/fetch;
>               set     $fetch   /fetch${uri}index.html;
>               error_page 403 404 = $fetch;
>           }
>
>           location ^~ /fetch/ {
>               internal;
>               include  proxy.conf;
>               proxy_set_header  X-Real-IP $remote_addr;
>               proxy_pass http://127.0.0.1:9001/;
>               proxy_store /var/www/data/domain.com$fetch;
>               proxy_store_access user:rw group:rw all:r;
>           }
>
>
> --
> Igor Sysoev
> http://sysoev.ru/en/
>
>





More information about the nginx mailing list