2 location, auth_basic, php

Alexey Rymonin x-phoenix at mail.ru
Sun Aug 26 23:29:28 MSD 2007


Hello Igor,

Sunday, August 26, 2007, 11:25:27 PM, you wrote:

IS> 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.....
>> Подскажите плз, как легко обойти эту траблу?

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

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

Вот об этом не подумал.... спасибо...

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

IS>          location ~ .php$ {

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

IS>              fastcgi_pass          ...
IS>              ...
IS>         }

Понятно... а то я смотрел как-раз в доках а там только context:
server...

Спасибо большое....




-- 
Best regards,
 Alexey                            mailto:x-phoenix at mail.ru






More information about the nginx-ru mailing list