nginx, php, location

Maxim Dounin mdounin на mdounin.ru
Пт Янв 27 16:16:59 UTC 2012


Hello!

On Fri, Jan 27, 2012 at 08:38:06AM -0500, alw wrote:

> Добрый день.
> 
> 1.
> В чем глубинный смысл описывать location /
> {....} в конфиге nginx?
> Чем плохо описывать необходимые
> рерайты и обращения к прокси
> непосредственно в server {...}?

Не описывать location / - может выйти боком.  Лучше - описывать.  
Обсуждалось не так давно, вот тут начало треда:

http://mailman.nginx.org/pipermail/nginx-ru/2011-October/043481.html

С технической точки зрения - не описывая location /, вы в 
результате вызываете обработку запроса в конфигурации т.н. "null 
location", который исходно предназначался совсем не для обработки 
запросов, а был особенностью реализации возможности задать 
директивы на уровне server, чтобы они работали во всех описанных 
location'ах.

> 2. Есть некий сайт на php. Есть у него
> админка, доступ к которой закрыт через
> AuthBasic.
> Кусок конфига:
> 
>         location /admin/ {
>                 auth_basic            "Restricted";
>                 auth_basic_user_file user.passwd;
>                 include /etc/nginx/conf.d/common-loc.inc;
>         }
> 
>         location / {
>                 куча рерайтов
>                 include /etc/nginx/conf.d/common-loc.inc;
>         }
> 
> в common-loc.inc:
> location  ~ \.php$ {
>     fastcgi_pass 127.0.0.1:9000;
>     fastcgi_index index.php;
>     include fastcgi_params;
> }
> 
> Вложенные location - хорошо или не очень?
> Если нет, то как изящнее/правильнее
> подобную схему описать?

Вложенные location'ы - это хорошо.

Maxim Dounin



Подробная информация о списке рассылки nginx-ru