fastcgi bug when doing something a little tricky

Kingsley Foreman kingsley at internode.com.au
Sun Jul 6 00:18:01 MSD 2008


Thanks Proforg,

It turned out to be our web developer not adding the '/' on the start of all 
his image links when i was testing the original code.

I guess im the noob on this one for not noticing during testing.

Kingsley


--------------------------------------------------
From: "Kingsley Foreman" <kingsley at internode.com.au>
Sent: Sunday, July 06, 2008 5:21 AM
To: <nginx at sysoev.ru>
Subject: Re: fastcgi bug when doing something a little tricky

> i think you might be on to something,
>
> The site is still very much in dev, so there might be a couple of invalid 
> links showing up, ill check and report back.
>
> Kingsley
>
>
> --------------------------------------------------
> From: "proforg" <proforg at maloletka.ru>
> Sent: Sunday, July 06, 2008 2:25 AM
> To: <nginx at sysoev.ru>
> Subject: Re: fastcgi bug when doing something a little tricky
>
>> Hi !
>>
>> On Sat, Jul 5, 2008 at 1:41 PM, Kingsley Foreman
>> <kingsley at internode.com.au> wrote:
>>>
>>> im not using a proxy however I have
>>>
>>> fastcgi_read_timeout            600;
>>>
>>> secondly the code on that page that i was testing was the one line of 
>>> php to
>>> do the echo and the rest was just html i copy pasted from a random 
>>> website.
>>
>> Please check carefully access log for this virtual host - may be this
>> "random html" code loading some kind of images etc and these requests
>> are in turn processed by fastcgi ?
>>
>>>
>>> Kingsley
>>>
>>> --------------------------------------------------
>>> From: "Dave Cheney" <dave at cheney.net>
>>> Sent: Saturday, July 05, 2008 5:29 PM
>>> To: <nginx at sysoev.ru>
>>> Subject: Re: fastcgi bug when doing something a little tricky
>>>
>>>> Check the value of
>>>>
>>>> proxy_read_timeout
>>>>
>>>> We've had sporadic issues with double posts to comments and other 
>>>> 'should
>>>> not happen' issues even though we've debounced all the buttons  for a 
>>>> while
>>>> now. Until now I've put it down to PEBKAC but thinking  about your 
>>>> issue I
>>>> wonder if its actually a problem with my config.  What could be 
>>>> happening is
>>>> your request is being queued on more than  one upstream. Even though 
>>>> nginx
>>>> discards the responses from backends  that is has timed out, that does 
>>>> not
>>>> roll back the effects of those  upstreams that have already processed 
>>>> the
>>>> request, and being a POST  request it is likely that it will be some 
>>>> kind of
>>>> database modification.
>>>>
>>>> I had a quick hack at constructing a config which will attempt GETS
>>>> multiple times and POSTS only once.
>>>>
>>>> location /controller/update {
>>>> if ($request_method == 'POST') {
>>>> break;
>>>> proxy_pass http://mongrel_post;
>>>> }
>>>> proxy_pass http://mongrel_get;
>>>> }
>>>>
>>>> upstream mongrel_get {
>>>> localhost:8080 fail_timeout=0;
>>>> localhost:8081 fail_timeout=0;
>>>> }
>>>>
>>>> upstream mongrel_post {
>>>> localhost:8080 max_fails=1 fail_timeout=0;
>>>> localhost:8081 max_fails=1 fail_timeout=0;
>>>> }
>>>>
>>>> Igor, could you see a need for a proxy configuration variable that 
>>>> treats
>>>> Non-idempotent specially.
>>>>
>>>> Cheers
>>>>
>>>> Dave
>>>>
>>>> On 05/07/2008, at 4:29 PM, Kingsley Foreman wrote:
>>>>
>>>>> Hi folks,
>>>>>
>>>>> Ive just found a bug/feature when using fastcgi in a slightly  unusual
>>>>> manner.
>>>>>
>>>>> nginx version: nginx/0.6.31
>>>>>
>>>>> http://websiteurl/article.php
>>>>>
>>>>> works fine
>>>>>
>>>>> however if you do
>>>>>
>>>>> http://websiteurl/article.php/blah/blah
>>>>>
>>>>> It will still run article.php like i want it to do however depending 
>>>>> on
>>>>> the length of html the script it runs it multiple times
>>>>>
>>>>> eg. if I add
>>>>> exec("/bin/echo 1 >> /data/www/test");
>>>>> to the top of article.php and go to
>>>>>
>>>>> http://websiteurl/article.php
>>>>>
>>>>> it returns
>>>>> ___________________
>>>>> 1
>>>>> ___________________
>>>>>
>>>>> however if i go to
>>>>> http://websiteurl/article.php/1/
>>>>>
>>>>> it returns
>>>>> __________________
>>>>> 1
>>>>> 1
>>>>> 1
>>>>> 1
>>>>> 1
>>>>> 1
>>>>> 1
>>>>> 1
>>>>> 1
>>>>> 1
>>>>> ___________________
>>>>>
>>>>> Its a bit of a problem for what im trying to do as i would ideally 
>>>>> like
>>>>> to have
>>>>> http://websiteurl/article/id/name/etc
>>>>> and have it process article as a php script
>>>>>
>>>>> Kingsley Foreman
>>>>> Technical Leader Content Services / Content Management Group
>>>>>
>>>>> =============================================
>>>>> Internode Systems Pty Ltd
>>>>>
>>>>> PO Box 284, Rundle Mall 5000
>>>>> Level 5 150 Grenfell Street, Adelaide 5000
>>>>> Phone:  +61 8 8228 2978
>>>>> Fax:    +61 8 8235 6978
>>>>> Web:    http://www.internode.on.net
>>>>>     http://games.internode.on.net
>>>>> =============================================
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>>
>> -- 
>> Alexej Bestchiokov
>> EMail/JID: proforg at maloletka.ru
>> phone: +7 495 7853149
>>
>>
>
> 





More information about the nginx mailing list