Re: Re[2]: location... не понятно
Maxim Dounin
mdounin at mdounin.ru
Wed Oct 17 19:09:14 MSD 2007
Hello!
On Wed, 17 Oct 2007, AlexeyK wrote:
> Вы знаете, без разницы, я об этом как-то писал в рассылку, но письмо
> осталось без внимания.
> Есть, к примеру, 2 локейшна, один хандлер пхп
Ещё раз для тех кто не смотря ни на что всё-таки не понял: в nginx'е НЕТ
никаких "хандлеров". Есть ТОЛЬКО location'ы. И запрос выполняется в
контексте одного конкретного location'а.
Как написать location'ы так, чтобы авторизация срабатывала и для статики,
и для проксируемых php скриптов - тут неоднократно говорилось:
location /phpmyadmin/ {
deny all;
...
}
location ~ ^/phpmyadmin/.*\.php {
deny all;
fastcgi_pass ...
...
}
И убедится что "location ~ ^/phpmyadmin/.*\.php" стоит перед другими
location'ами с регулярными выражениями.
Если хочется действительно deny all - т.е. просто всё закрыть, то можно
ещё сделать
location ^~ /phpmyadmin/ {
deny all;
}
В этом случае location'ы с регулярными выражениями проверяться не будут.
Подробнее о том как писать location'ы и как именно выбирается location, в
контексте которого будет обработан запрос, можно прочитать тут:
http://www.sysoev.ru/nginx/docs/http/ngx_http_core_module.html#location
> http://www.lexa.ru/nginx-ru/msg13656.html вот письмо, и еще одно
> http://www.lexa.ru/nginx-ru/msg13621.html, в которых обсуждалась
> данная проблема, но ответы так и не были найдены/даны.
Обсуждалась совсем другая проблема. А именно - как бы такое сделать, чтобы
лишний location не писать. Ответ - никак.
Совсем правильный ответ - перепроектировать систему так, чтобы location'ы
с регулярными выражениями в конфиге отсутствовали.
Maxim Dounin
More information about the nginx-ru
mailing list