ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 2 location, auth_basic, php



On Sun, Aug 26, 2007 at 11:06:06PM +0400, Alexey Rymonin wrote:

> Подскажите плз...  нужно ограничить доступ на /admin/*
> и сделно в конфиге пишу следующее:
> 
>         location /admin/ {
>                 auth_basic            "Admin zone";
>                 auth_basic_user_file  /...../admin/.htpasswd;
>         }
> 
>         ...
>         
>         location ~ .php$ {
>                 fastcgi_pass   127.0.0.1:9000;
>                 fastcgi_index  index.php;
> 
>                 fastcgi_intercept_errors  on;
> 
>                 fastcgi_param  SCRIPT_FILENAME  
> $document_root$fastcgi_script_name;
>                 fastcgi_param  QUERY_STRING     $query_string;
>                 fastcgi_param  REQUEST_METHOD   $request_method;
>                 fastcgi_param  CONTENT_TYPE     $content_type;
>                 fastcgi_param  CONTENT_LENGTH   $content_length;
>         }  
> 
> И в результате получаю следующую проблем, что при обращении в странице
> /admin/pupkin.php пароля уже не надо... так как на него исполняется
> другой location ... поставить ^~ в первой я не могу, поскольку тогда
> не будут обрабатываться php....
> Подскажите плз, как легко обойти эту траблу?

Описать ещё один location:

         location ~ ^/admin/.+\.php$ {

Кроме того, можно использовать вложенные location'ы, (но он
пока недокументирован, так как некоторые команды неверно работают):

         location ~ .php$ {

             location /admin/ {
                 auth_basic            ...
                 auth_basic_user_file  ...
                 fastcgi_pass          ...
             }

             fastcgi_pass          ...
             ...
        }


-- 
Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.