Welcome! Log In Create A New Profile

Advanced

Re: Re: Наследование fastcgi_param

Maxim Dounin
July 09, 2015 09:30AM
Hello!

On Thu, Jul 09, 2015 at 05:14:19PM +0500, Amanda Sproule wrote:

> >>Поведение nginx'а сейчас: послать на бекенд ровно то, что администратор
> написал в конфиге, и оно консистентно для всех соответствующих модулей
> (proxy, fastcgi, scgi, uwsgi). Менять это поведение не планируется.
>
> послать на бекенд ровно то, что администратор написал в конфиге - так ведь
> не посылает, в начале топика я описал, что если в локейшене переопределён
> fastcgi_param SCRIPT_FILENAME /www/info.php; то только он и передаётся (и
> тут возник весь сыр бор с наследованием).

Вы путаете темы обсуждения: я отвечал Гене про дублирующиеся
fastcgi-параметры с одинаковыми именами. Вы же пытаетесь в
очередной раз рассказать миру о том, что не понимаете, как
работает наследование директив конфигурации в nginx'е.

Впрочем, ответ "ровно то, что администратор написал в конфиге" в
данном случае также подходит. В соответствующем location'е
написан ровно один параметр, и именно он и посылается.

Именно так работает наследование для всех директив конфигурации:
если на текущем уровне соответствующая директива не встречается,
то используется значение с предыдущего уровня. Если встречается -
то используется то, что написано на текущем уровне. Это относится
как к директивам, которые могут существовать только в единственном
экземпляре (e.g., root), так и к директивам, которые можно
указывать несколько раз (e.g., fastcgi_param, proxy_set_header,
access_log).

> Экспериментальным путём подобрал минимальное количество параметров
>
> location /info {
> fastcgi_param REQUEST_METHOD $request_method;
> fastcgi_param SCRIPT_FILENAME /www/info.php;
> fastcgi_pass 127.0.0.1:9000;
> }
>
> и phpinfo() ровно эти параметры и показал, никаких других не было.

Специально для того, чтобы SCRIPT_FILENAME можно было задавать
руками отдельно от других параметров - в дистрибутиве лежит файл
fastcgi_params, содержащий все параметры кроме SCRIPT_FILENAME.
Соответсвенно, если вам надо указать явно SCRIPT_FILENAME, то
правильно делать так:

location = /info {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /path/to/info.php;
fastcgi_pass 127.0.0.1:9000;
}

Если же путь к файлу стандартный, то можно использовать
fastcgi.conf, где SCRIPT_FILENAME уже задан в виде
$document_root$fastcgi_script_name, и соответственно писать как-то
так:

include fastcgi.conf;
root /path/to;

location = /info.php {
fastcgi_pass 127.0.0.1:9000;
}

Note: в этом случае в конкретном location'е можно вообще ничего
кроме fastcgi_pass не писать, а задать всё на более ранних
уровнях.

--
Maxim Dounin
http://nginx.org/

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Наследование fastcgi_param

Amanda Sproule June 23, 2015 12:58PM

Re: Наследование fastcgi_param

Gena Makhomed June 24, 2015 11:36AM

Re: Re: Наследование fastcgi_param

Amanda Sproule June 24, 2015 05:06PM

Re: Наследование fastcgi_param

Валентин Бартенев June 26, 2015 09:48AM

Re: Re: Re: Наследование fastcgi_param

Amanda Sproule July 09, 2015 11:00AM

Re: Re: Наследование fastcgi_param

Amanda Sproule June 26, 2015 12:12PM

Re: Наследование fastcgi_param

Konstantin Tokarev June 26, 2015 01:08PM

Re: Re: Наследование fastcgi_param

Amanda Sproule June 26, 2015 01:40PM

Re: Re: Наследование fastcgi_param

Amanda Sproule June 26, 2015 02:36PM

Re: Наследование fastcgi_param

Gena Makhomed June 26, 2015 03:20PM

Re: Re: Наследование fastcgi_param

Amanda Sproule June 26, 2015 04:06PM

Re: Наследование fastcgi_param

Gena Makhomed June 26, 2015 04:26PM

Re: Наследование fastcgi_param

Igor M Podlesny June 26, 2015 04:40PM

Re: Re: Наследование fastcgi_param

S.A.N June 26, 2015 05:14PM

Re: Re: Наследование fastcgi param

Igor M Podlesny June 27, 2015 01:26AM

Re: Re: Наследование fastcgi param

S.A.N June 27, 2015 05:12AM

Re: Re: Наследование fastcgi param

Daniel Podolsky June 27, 2015 05:32AM

Re: Re: Наследование fastcgi_param

Amanda Sproule June 26, 2015 04:44PM

Re: Наследование fastcgi_param

Gena Makhomed June 26, 2015 05:16PM

Re: Наследование fastcgi_param

Daniel Podolsky June 26, 2015 05:18PM

Re: Наследование fastcgi_param

Igor M Podlesny June 27, 2015 01:34AM

Re: Re: Наследование fastcgi_param

Amanda Sproule June 26, 2015 05:50PM

Re: Re: Наследование fastcgi_param

Amanda Sproule July 09, 2015 08:16AM

Re: Наследование fastcgi_param

Валентин Бартенев July 09, 2015 09:26AM

Re: Re: Наследование fastcgi_param

Maxim Dounin July 09, 2015 09:30AM

Re: Наследование fastcgi_param

Andrey Kopeyko June 24, 2015 12:08PM

Re: Наследование fastcgi_param

Gena Makhomed June 24, 2015 12:48PM

Re: Наследование fastcgi_param

Валентин Бартенев June 24, 2015 12:58PM

Re: Наследование fastcgi_param

Gena Makhomed June 24, 2015 02:00PM

Re: Наследование fastcgi_param

S.A.N June 25, 2015 05:32PM

Re: Наследование fastcgi param

Валентин Бартенев June 26, 2015 09:34AM

Re: Наследование fastcgi param

S.A.N June 26, 2015 09:50AM

Re: Re: Наследование fastcgi param

Amanda Sproule June 26, 2015 06:22PM

Re: Наследование fastcgi_param

Maxim Dounin July 04, 2015 03:36AM

Re: Наследование fastcgi_param

Igor M Podlesny June 26, 2015 01:40PM

Re: Наследование fastcgi_param

Gena Makhomed June 26, 2015 02:22PM

Re: Наследование fastcgi_param

Igor M Podlesny June 26, 2015 02:44PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 223
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready