ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: и все равно не работает nginx-0.7.44 + drupal 6.10 с try_files


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: и все равно не работает nginx-0.7.44 + drupal 6.10 с try_files
  • From: Andrei Nigmatulin <andrei.nigmatulin@xxxxxxxxx>
  • Date: Tue, 24 Mar 2009 20:25:05 +0300
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:subject:date :user-agent:references:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:message-id; bh=RiQRzzPi3dZ8tr/042HBxjRimXUv4Se5+X4MOe6IdkY=; b=Cyfs+7nNK/w/tqXR+15+PF4NVa0ida+nk9NzNUShukksPVsmVNReclZ7QASYc5xvt8 3W2BR0zr164MEHGAlyfeBc62rN+a9LLPS5igl291r++DztSVQHcQjoP6z9jw/kIAurHn Mn+dkJmpmDddyMK18BbR0x0iar9cZAviEZYtY=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:subject:date:user-agent:references:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :message-id; b=ZMag7nM35iIHIDEZg+2hm+PAOje/qPwXSktPZxZVmToEHJIoUEZTkPfQ1rAh2ueyh1 /jvfnS6eMaKtFm85KSpP4tSI5WTOAElMWIEVQ9mB2jOzank+Q/BqG1BhjD6DHphADNoo s7f7AYSV/H5f64OhSMMabzokZonunKs+CtZao=
  • In-reply-to: <010603500.20090324230325@xxxxxxxxxx>
  • References: <1237882050.17957.6.camel@localhost> <200903241915.17932.andrei.nigmatulin@xxxxxxxxx> <010603500.20090324230325@xxxxxxxxxx>

On Tuesday 24 March 2009 20:03, Denis F. Latypoff wrote:
> Hello Andrei,
>
> Tuesday, March 24, 2009, 10:15:17 PM, you wrote:
> > On Tuesday 24 March 2009 18:25, Maxim Dounin wrote:
> >> Hello!
> >>
> >> On Tue, Mar 24, 2009 at 05:37:10PM +0300, Andrei Nigmatulin wrote:
> >> > On Tuesday 24 March 2009 17:09, Maxim Dounin wrote:
> >> > > Hello!
> >> > >
> >> > > On Tue, Mar 24, 2009 at 04:34:28PM +0300, Andrei Nigmatulin wrote:
> >> > > > On Tuesday 24 March 2009 15:44, Igor Sysoev wrote:
> >> > > > > On Tue, Mar 24, 2009 at 03:31:49PM +0300, Andrei Nigmatulin 
wrote:
> >> > > > > > > > 2009/03/24 14:15:37 [debug] 7764#0: *1 http script copy:
> >> > > > > > > > "QUERY_STRING" 2009/03/24 14:15:37 [debug] 7764#0: *1 http
> >> > > > > > > > script copy: "q=" 2009/03/24 14:15:37 [debug] 7764#0: *1
> >> > > > > > > > http script var:
> >> > > > > > > > "/admin/reports/status/run-cron?destination=admin/reports/
> >> > > > > > > >sta tus" 2009/03/24 14:15:37 [debug] 7764#0: *1 fastcgi
> >> > > > > > > > param: "QUERY_STRING:
> >> > > > > > > > q=/admin/reports/status/run-cron?destination=admin/reports
> >> > > > > > > >/st atus "
> >> > > > > > >
> >> > > > > > > Надо убрать из
> >> > > > > > >
> >> > > > > > >     include        /etc/nginx/fastcgi_params;
> >> > > > > > >
> >> > > > > > > строку про QUERY_STRING.
> >> > > > > >
> >> > > > > > А смысл, если все равно используется последняя ?
> >> > > > >
> >> > > > > Это точно известно ?
> >> > > >
> >> > > > У меня на 0.6.x работает именно так.
> >> > >
> >> > > Это не зависит от nginx'а, это зависит от fastcgi приложения.  Сам
> >> > > nginx просто передаст несколько name-value pairs с одинаковым
> >> > > именем.
> >> >
> >> > Понятно. В php это не используется. Каждое последующее значение с тем
> >> > же именем замещает предыдущее.
> >>
> >> Насколько я вижу - hash появился в
> >>
> >> http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/fastcgi.c?r1=1.15&r2=1.16
> >>&
> >>
> >> и с тех пор помержен в 5.2, но не в 5.1.  До соответствующего
> >> изменения - брался первый из параметров.  Что именно происходило в
> >> php4 - даже и смотреть не хочу, и так понятно что поведение
> >> зависит от версии php и закладываться на него нельзя.
> >
> > Все правильно, бардак имеется. Но камни в огород php я бы не стал кидать:
> > до 5.2 использовался код стандартной libfcgi, которую кстати, насколько я
> > вкурсе, писали те же ребята, что и спецификацию протокола на fatscgi.com.
> > В ней тоже берется первое значение из присланных. И библиотечными
> > методами нельзя получить другие значения с таким же именем.
> >
> > Тем не менее, в спецификации с fastcgi.com не указано что нельзя отсылать
> > дублирующиеся имена. А зря.
>
> FastCGI протоколу пофигу сколько раз там повторяется key=value.
> По получении key=value делается, грубо говоря, setenv (key, value, 1).
> Приложение конечно же увидит последнюю пару.

Это если приложение - php >= 5.2.

А вот php <= 5.1 (но не php-fpm, там бекпорт fastcgi кода из 5.2), судя по 
коду, увидит первую. И все приложения на libfcgi - тоже.

> > Потому что исправить nginx, чтобы он не отправлял дублирующиеся имена
> > теперь тоже нельзя, т.к. это сломает всем приложения.
>
> И не надо. Если у программиста/админа есть совесть - он позаботится об
> этом сам :)

Ну по крайней мере есть смысл отразить эти ньюансы в документации.


-- 
Andrei Nigmatulin
GPG PUB KEY 6449830D

Now I lay me down to sleep(3)
Pray the OS my core to keep
If I die before I wake
Pray the Disk my core to take


 




Copyright © Lexa Software, 1996-2009.