Welcome! Log In Create A New Profile

Advanced

Re: CGI::Fast && $ENV{HTTP_*}

Peter Vereshagin
October 06, 2009 08:12AM
We all come down to Monterey, nginx-ru!

Проблема была в том, что fastcgi_param CONTENT_TYPE и fastcgi_param CONTENT_LENGTH прописанные в секции http{}, не действуют на конкретный location внутри неё. Штатное ли это поведение? возможно, это связано с тем, что $content_type и $content_length не считаются определёнными вне, например, секции server{} ? я как вижу по дампу https://gist.github.com/202883/e51f797e43f457e90deb0592e649d274751c8ecb сами директивы конфига не сработали ( на тот момент были прописаны в контексте location только PATH_INFO SCRIPT_FILENAME QUERY_STRING REQUEST_METHOD ) но лучше всё таки кто-нибудь ещё бы это почитал.
В любом случае, в документации про то, что fastcgi_param или $content_* не работают в секции http --- нет.


2008/07/31 01:14:34 +0400 Igor Sysoev <is@rambler-co.ru> => To nginx-ru@sysoev.ru :
IS> On Wed, Jul 30, 2008 at 07:34:38PM +0500, Peter Vereshagin wrote:
IS> > 2008/07/30 17:56:28 +0400 Igor Sysoev <is@rambler-co.ru> => To nginx-ru@sysoev.ru :
IS> > IS> On Wed, Jul 30, 2008 at 05:12:28PM +0500, Peter Vereshagin wrote:
IS> > IS> > ===
IS> > IS> > map { $ENV{ $_ } = $ENV{ "HTTP_$_" } } qw/CONTENT_LENGTH CONTENT_TYPE/
IS> > IS> > if $ENV{ 'REQUEST_METHOD' } eq 'POST';
IS> > IS> > ===
IS> > IS> >
IS> > IS> > перед "new CGI::Fast" --- и переменные им берутся как надо.
IS> > IS> >
IS> > IS> > Вопрос в чём: я всё оставляю как сейчас, или это бага nginx? а то мы спецификаций да сишных исходников не читатели, только почитатели-причитатели :)
IS> > IS>
IS> > IS> nginx передаёт указанные CONTENT_TYPE и CONTENT_LENGTH.
IS> >
IS> > ok, указанные где? не в запросе клиента? кабы передавал бы, я б не спрашивал тут. А то может у меня броузер ( links-hacked ) такой неправильный.
IS>
IS> Указанные в директивах fastcgi_param.
IS>
IS> > IS> Кроме того, есть ещё HTTP_CONTENT_TYPE и HTTP_CONTENT_LENGTH из запроса
IS> > IS> клиента, которые тоже передаются.
IS> >
IS> > тогда вопроc, делать мне что с этим? если в моём конфиге что-то забыл, то что? если в perl надо действительно модифицировать %ENV, то оставляю эти 2 строки и выкладываю на CPAN's pause.
IS> > конкретно HTTP_* не цепляется в CGI.pm . А без "HTTP_" переменных не видно --- или мне с этим в fastcgi.com, к авторам FCGI.(pm|so), а не сюда?
IS>
IS> Можно посмотреть в tcpdump'е, что nginx передаёт перлу.

73! Peter pgp: A0E26627 (4A42 6841 2871 5EA7 52AB 12F8 0CE1 4AAC A0E2 6627)
--
http://vereshagin.org
Subject Author Posted

Re: CGI::Fast && $ENV{HTTP_*}

Peter Vereshagin October 06, 2009 08:12AM

Re: CGI::Fast && $ENV{HTTP_*}

Maxim Dounin October 06, 2009 09:14AM

Re: CGI::Fast && $ENV{HTTP_*}

Peter Vereshagin October 06, 2009 01:22PM

Re: CGI::Fast && $ENV{HTTP_*}

Maxim Dounin October 06, 2009 07:02PM

Re: CGI::Fast && $ENV{HTTP_*}

Peter Vereshagin October 07, 2009 07:58AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 308
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready