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