Вопрос по auth_basic.

Maxim Dounin mdounin at mdounin.ru
Tue Jul 7 16:40:35 MSD 2009


Hello!

On Tue, Jul 07, 2009 at 02:55:24PM +0300, maxhl at hitline.net.ua wrote:

> День добрый.
> Почему если есть:
> 
>    location / {
>        auth_basic            "closed site";
>        auth_basic_user_file  /home/htdocs/.ht_passwd;
>        index index.pl;
>     }
> 
> И после идет:
> 
>     location /stats {
> 	  auth_basic            "closed site";
>         auth_basic_user_file  /home/htdocs/stats/.ht_passwd;
>         index index.pl;
>         fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
>         fastcgi_param SCRIPT_NAME $fastcgi_script_name;
>         fastcgi_pass    unix:/mnt/md0/nginx-fcgi.sock;
>         fastcgi_index    index.pl;
>         include  /usr/local/nginx/conf/fastcgi.conf;
>     }
> 
> То при запросе в /stats проверяет пользователя /home/htdocs/.ht_passwd; и
> если нет то отдает
> 
> HTTP request sent, awaiting response... 401 Unauthorized
> Authorization failed.
> 
> И в /home/htdocs/stats/.ht_passwd; даже не проверяет ...
> Как можно правильно разделить location ?

Вероятно, в конфиге ещё есть location ~ \.pl$ {...}.

Regex location'ы по умолчанию имеют приоритет над обычными.  Чтобы 
этого избежать - надо написать location ^~ /stats (note "^~").

Подробнее о том как выбирается location для обработки запроса 
можно прочитать в документации тут:

http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#location

Maxim Dounin





More information about the nginx-ru mailing list