nested location inheritance
Maxim Dounin
mdounin at mdounin.ru
Fri May 22 19:34:29 UTC 2015
Hello!
On Sat, May 23, 2015 at 01:08:19AM +0700, Igor M Podlesny wrote:
> 2015-01-12 20:30 GMT+07:00 Maxim Dounin <mdounin at mdounin.ru>:
>
> > Hello!
> >
> > On Mon, Jan 12, 2015 at 04:06:33PM +0300, Vasil Mikhalenya wrote:
> >
> > > Добрый день,
> > >
> > > озадачен вопросом составления казалось бы тривиального конфига, задача -
> > > для определенно урла выключить логирование, обойдясь без дублирования
> > > конфигурации. Однако, как я понял, директивы fastcgi_pass не наследуются
> > во
> > > вложенный location.
> >
> > Директивы fastcgi_pass - не наследуются, однако все остальные
> > директивы fastcgi_* - наследуется.
> >
>
> Вот не замечаю такого для fastcgi_param, ибо если "include
> fastcgi_params;" находится в "location /", то
> нормального выполнения sub-"location ~ \.php$" не происходит. Лечится
> переносом include в этот самый sub-location.
> Абсолютно аналогично (ибо частный случай) и с отдельно стоящей
>
> fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
>
> -- если это перенести в "location /", то скрипты опять же не работают.
Если же есть подзрение, что в nginx'е что-то работает не так, как
должно, имеет смысл привести проблемную и работающаю конфигурации
полностью.
Из текста следует, что проблема должна проявляться на двух таких
конфигурациях:
location / {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:8082;
}
}
и
location / {
location ~ \.php$ {
fastcgi_pass 127.0.0.1:8082;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Однако обе конфигурации формируют совершенно одинаковый
fastcgi-запрос, параметры SCRIPT_FILENAME совпадают:
2015/05/22 22:18:37 [debug] 49590#0: *1 fastcgi param: "SCRIPT_FILENAME: /tmp/index.php"
2015/05/22 22:19:30 [debug] 49596#0: *1 fastcgi param: "SCRIPT_FILENAME: /tmp/index.php"
Т.е., если проблема и есть, то она в нюансах.
Или проблемы на самом деле нет, и вы просто что-то делаете не так.
--
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru