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

Валентин Бартенев vbart at nginx.com
Wed Jun 24 16:57:43 UTC 2015


On Wednesday 24 June 2015 19:46:25 Gena Makhomed wrote:
> On 24.06.2015 19:07, Andrey Kopeyko wrote:
> 
> > Сделайте вот так
> >
> >   server {
> >        ....
> >        include        fastcgi_params;
> >        fastcgi_index  index.php;
> >
> >        location /info {
> >            fastcgi_param SCRIPT_FILENAME /www/info.php;
> >            include       fastcgi_params;
> >            fastcgi_pass  127.0.0.1:9000 <http://127.0.0.1:9000>;
> >        }
> >    }
> >
> > и наступит счастье.
> 
> счастье не наступит. если сделать так - тогда можно будет
> наступить на грабли, если вдруг понадобится переопределить
> какой-либо еще параметр кроме SCRIPT_FILENAME, например, HTTPS.
> 
> чтобы полное счастье наступило, лучше делать всегда так,
> что include fastcgi_params; будет первой строкой
> в блоке, fastcgi_pass - последней, а между ними -
> директивы fastcgi_param.
> 
> 

Это не поможет.  Разве что только некоторые реализации FastCGI
берут только последнее значение параметра, но передаваться всегда
будут оба.  И нет никак гарантий, как это будет обработано.

Правильный способ - не выносить в fastcgi_params параметры, которые
требуется часто переопределять.

А если все же требуется переопределить какой-то из параметров,
то лучше скопировать их все.

Расположение fastcgi_pass вообще ни на что не влияет.

--
Валентин Бартенев


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