question about proxy_store
Igor Sysoev
is at rambler-co.ru
Mon Jan 28 09:59:01 MSK 2008
On Sun, Jan 27, 2008 at 10:31:54PM -0800, eliott wrote:
> 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)
Then:
location / {
root /var/www/data/doman.com/fetch;
error_page 404 = /fetch$uri;
}
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 ~ /$ {
index index.html;
root /var/www/data/doman.com/fetch;
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${uri}index.html;
proxy_store_access user:rw group:rw all:r;
}
> 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/
> >
> >
>
--
Igor Sysoev
http://sysoev.ru/en/
More information about the nginx
mailing list