[PATCH] upstream process header data

李飞勃 lifeibo382005 at gmail.com
Fri Feb 10 01:56:29 UTC 2012


Hi,

    Thanks for your response, "Feibo Li" js just ok!!


    lizi

2012/2/9 Maxim Dounin <mdounin at mdounin.ru>:
> Hello!
>
> On Thu, Feb 09, 2012 at 05:43:19PM +0800, 李飞勃 wrote:
>
>> hello,
>>
>>     I encountered a problem when I write a upstream module to process
>> data from my upstream server.
>>     I set the header recv buffer to a small size that can not hold the
>> whole response header. While in my process_header handler of my
>> module, it will wait for the whole response header to process header,
>> then return NGX_AGAIN and leave data in u->buffer not processed(in
>> this case, u->buffer->pos < u->buffer->last). Then u->buffer->pos will
>> never equal to u->buffer->end, and nginx will nerver log "upstream
>> send too big header". This will cause nginx to call recv again with
>> zero buffer size.
>>     I think this may be a problem, and I made a patch for that.
>
> Looks like valid problem and correct patch for me.  In vanilla
> nginx this currently affects at least memcached module.  If
> memcached_buffer set to low value, it causes
>
> [error] ... upstream prematurely closed connection while reading
> response header from upstream ...
>
> to be logged instead of correct
>
> [error] ... upstream sent too big header while reading response
> header from upstream ...
>
> Could you please provide English transcription of your name you
> would like to see in CHANGES?  Is "Li Feibo" looks ok?
>
> Maxim Dounin
>
> _______________________________________________
> nginx-devel mailing list
> nginx-devel at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-devel



More information about the nginx-devel mailing list