ПРОЕКТЫ 


  АРХИВ 


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: неудобство написания auth_basic



On Wed, 31 May 2006, Igor Sysoev wrote:

On Wed, 31 May 2006, Anton Ladokha wrote:

Если я использую auth_basic и то у меня получаются довольно грамоздкие конструкции локейшенов.

Допустим, хочу запаролить одну папку /admin/ :

location / {
           index  index.php;
}
location  ~ ^/admin/  {
               auth_basic ...
               index  index.php;
}
location ~* ^/admin/.+\.(php)$ {
               auth_basic ...
               fastcgi_pass ...
}
location ~* ^.+\.(php)$ {
                fastcgi_pass ...
}

более простого способа нет?

Я бы переписал конфигурацию так:

   location / {
       ...
   }

   location ~* ^/(?:$|.+/$|.+\.php$) {
       fastcgi_index  index.php;
       fastcgi_pass ...
   }

   location ~* ^/admin/(?:$|.+/$|.+\.php$) {
       auth_basic ...
       fastcgi_index  index.php;
       fastcgi_pass ...
   }

Эта конфигурация в том числе решает и проблему POSTа в /.

Такое тоже должно работать:

    location / {
        ...
    }

    location ~* ^/(?:$|.+/$|.+\.php$) {
        fastcgi_index  index.php;
        fastcgi_pass ...

        location /admin/ {
            auth_basic ...
        }
    }

но хочу предупредить, что не все директивы поддерживают правильное
наследование во вложенных location'ах.


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



 




Copyright © Lexa Software, 1996-2009.