[PATCH] upstream process header data
lifeibo382005 at gmail.com
Fri Feb 10 01:56:29 UTC 2012
Thanks for your response, "Feibo Li" js just ok!!
2012/2/9 Maxim Dounin <mdounin at mdounin.ru>:
> On Thu, Feb 09, 2012 at 05:43:19PM +0800, 李飞勃 wrote:
>> 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
More information about the nginx-devel