[0.8.50] Bug in if?

Maxim Dounin mdounin at mdounin.ru
Wed Sep 22 12:53:52 MSD 2010


Hello!

On Wed, Sep 22, 2010 at 10:36:59AM +0200, Marcin WMP Janowski wrote:

> 2010/9/22 Maxim Dounin <mdounin at mdounin.ru>:
> > Hello!
> >
> > On Tue, Sep 21, 2010 at 11:57:33PM +0200, Marcin WMP Janowski wrote:
> >
> > [...]
> >
> >> and it works as expected. Now, I tried to separate users' access (so
> >> that any given user had access only to his directory) with the if
> >> statements:
> >>
> >> location ~ ^/(.+?)/download(/.*)  {
> >>                auth_basic            "Restricted";
> >>                auth_basic_user_file  /etc/nginx/htpasswd;
> >>                alias /home/$1/download$2;
> >>                autoindex on;
> >>                include mime.types;
> >>                types { }
> >>                default_type application/octet-stream;
> >>                if ($remote_user != '') { set $hack b; }
> >>                if ($remote_user != $1) { set $hack a$hack; }
> >>                if ($hack = ab) { return 403; }
> >>        }
> >>
> >> That caused 404 errors. This is the relevant fragment of the error log:
> >>
> >> 2010/09/21 23:12:41 [error] 31813#0: *245 "/home/wmp/download/.1
> >> Hostindex.html" is not found (2: No such file or directory), client:
> >> 87.205.146.217, server: domain, request: "GET /wmp/download/
> >> HTTP/1.1", host: "domain:9900"
> >
> > http://wiki.nginx.org/IfIsEvil
> >
> > See if-and-alias example.
> 
> Ok, i do:
> location ~ ^/(?<user>.+?)/download(?<file>/.*) {
> alias /home/$user/rtorrent/download$file;
> 
> but down work, i have this same error.

Nobody said using named captures will help.  Use root instead.

Maxim Dounin



More information about the nginx mailing list