2 location, auth_basic, php
Igor Sysoev
is at rambler-co.ru
Sun Aug 26 23:25:27 MSD 2007
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
More information about the nginx-ru
mailing list