Is it possible that nginx will not buffer the client body?
Pasi Kärkkäinen
pasik at iki.fi
Mon Feb 25 10:13:05 UTC 2013
On Mon, Feb 25, 2013 at 10:13:42AM +0800, Weibin Yao wrote:
> Can you show me your configure? It works for me with nginx-1.2.7.
> Thanks.
>
Hi,
I'm using the nginx 1.2.7 el6 src.rpm rebuilt with "headers more" module added,
and your patch.
I'm using the following configuration:
server {
listen public_ip:443 ssl;
server_name service.domain.tld;
ssl on;
keepalive_timeout 70;
access_log /var/log/nginx/access-service.log;
access_log /var/log/nginx/access-service-full.log full;
error_log /var/log/nginx/error-service.log;
client_header_buffer_size 64k;
client_header_timeout 120;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
proxy_buffering off;
proxy_cache off;
add_header Last-Modified "";
if_modified_since off;
client_max_body_size 262144M;
client_body_buffer_size 1024k;
client_body_timeout 240;
chunked_transfer_encoding off;
# client_body_postpone_sending 64k;
# proxy_request_buffering off;
location / {
proxy_pass https://service-backend;
}
}
Thanks!
-- Pasi
> 2013/2/22 Pasi KÀrkkÀinen <[1]pasik at iki.fi>
>
> On Fri, Feb 22, 2013 at 11:25:24AM +0200, Pasi KÀrkkÀinen wrote:
> > On Fri, Feb 22, 2013 at 10:06:11AM +0800, Weibin Yao wrote:
> > > Â Â Use the patch I attached in this mail thread instead, don't use
> the pull
> > > Â Â request patch which is for tengine.Ã*
> > > Â Â Thanks.
> > >
> >
> > Oh sorry I missed that attachment. It seems to apply and build OK.
> > I'll start testing it.
> >
>
> I added the patch on top of nginx 1.2.7 and enabled the following
> options:
>
> client_body_postpone_sending   64k;
> proxy_request_buffering     off;
>
> after that connections through the nginx reverse proxy started failing
> with errors like this:
>
> [error] 29087#0: *49 upstream prematurely closed connection while
> reading response header from upstream
> [error] 29087#0: *60 upstream sent invalid header while reading response
> header from upstream
>
> And the services are unusable.
>
> Commenting out the two config options above makes nginx happy again.
> Any idea what causes that? Any tips how to troubleshoot it?
> Thanks!
>
> -- Pasi
>
> >
> > > Â Â 2013/2/22 Pasi KÃ*â*¬rkkÃ*â*¬inen <[1][2]pasik at iki.fi>
> > >
> > > Â Â Â On Fri, Jan 18, 2013 at 10:38:21AM +0200, Pasi
> KÃ*â*¬rkkÃ*â*¬inen wrote:
> > > Â Â Â > On Thu, Jan 17, 2013 at 11:15:58AM +0800, ?????? wrote:
> > > Â Â Â > > Ã* Â Ã* Yes. It should work for any request method.
> > > Â Â Â > >
> > > Â Â Â >
> > > Â Â Â > Great, thanks, I'll let you know how it works for me.
> Probably in two
> > > Â Â Â weeks or so.
> > > Â Â Â >
> > >
> > > Â Â Â Hi,
> > >
> > > Â Â Â Adding the tengine pull request 91 on top of nginx 1.2.7
> doesn't work:
> > >
> > > Â Â Â cc1: warnings being treated as errors
> > > Â Â Â src/http/ngx_http_request_body.c: In function
> > > Â Â Â 'ngx_http_read_non_buffered_client_request_body':
> > > Â Â Â src/http/ngx_http_request_body.c:506: error: implicit
> declaration of
> > > Â Â Â function 'ngx_http_top_input_body_filter'
> > > Â Â Â make[1]: *** [objs/src/http/ngx_http_request_body.o] Error 1
> > > Â Â Â make[1]: Leaving directory `/root/src/nginx/nginx-1.2.7'
> > > Â Â Â make: *** [build] Error 2
> > >
> > > Â Â Â ngx_http_top_input_body_filter() cannot be found from any
> .c/.h files..
> > > Â Â Â Which other patches should I apply?
> > >
> > > Â Â Â Perhaps this?
> > > Â Â
> Â [2][3]https://github.com/cfsego/limit_upload_rate/blob/master/for-nginx.patch
> > >
> > > Â Â Â Thanks,
> > > Â Â Â -- Pasi
> > >
> > > Â Â Â >
> > >    > > Ã*  Ã* 2013/1/16 Pasi KÃ**â*¬rkkÃ**â*¬inen
> <[1][3][4]pasik at iki.fi>
> > > Â Â Â > >
> > > Â Â Â > > Ã* Â Ã* Â Ã* On Sun, Jan 13, 2013 at 08:22:17PM +0800,
> ?????? wrote:
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** This patch should work between
> nginx-1.2.6 and
> > > Â Â Â nginx-1.3.8.
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** The documentation is here:
> > > Â Â Â > >
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** ##
> client_body_postpone_sending ##
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Syntax:
> **client_body_postpone_sending** `size`
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Default: 64k
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Context: `http, server,
> location`
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** If you specify the
> `proxy_request_buffering` or
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** `fastcgi_request_buffering` to
> be off, Nginx will
> > > Â Â Â send the body
> > > Â Â Â > > Ã* Â Ã* Â Ã* to backend
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** when it receives more than
> `size` data or the
> > > Â Â Â whole request body
> > > Â Â Â > > Ã* Â Ã* Â Ã* has been
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** received. It could save the
> connection and reduce
> > > Â Â Â the IO number
> > > Â Â Â > > Ã* Â Ã* Â Ã* with
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** backend.
> > > Â Â Â > > Ã* Â Ã* Â Ã* >
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** ## proxy_request_buffering ##
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Syntax:
> **proxy_request_buffering** `on | off`
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Default: `on`
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Context: `http, server,
> location`
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Specify the request body will
> be buffered to the
> > > Â Â Â disk or not. If
> > > Â Â Â > > Ã* Â Ã* Â Ã* it's off,
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** the request body will be
> stored in memory and sent
> > > Â Â Â to backend
> > > Â Â Â > > Ã* Â Ã* Â Ã* after Nginx
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** receives more than
> `client_body_postpone_sending`
> > > Â Â Â data. It could
> > > Â Â Â > > Ã* Â Ã* Â Ã* save the
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** disk IO with large request
> body.
> > > Â Â Â > > Ã* Â Ã* Â Ã* >
> > > Â Â Â > > Ã* Â Ã* Â Ã* >
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã** Ã* Ã** Ã* Ã** Ã*
> Note that, if you specify it
> > > Â Â Â to be off, the nginx
> > > Â Â Â > > Ã* Â Ã* Â Ã* retry mechanism
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** with unsuccessful response
> will be broken after
> > > Â Â Â you sent part of
> > > Â Â Â > > Ã* Â Ã* Â Ã* the
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** request to backend. It will
> just return 500 when
> > > Â Â Â it encounters
> > > Â Â Â > > Ã* Â Ã* Â Ã* such
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** unsuccessful response. This
> directive also breaks
> > > Â Â Â these
> > > Â Â Â > > Ã* Â Ã* Â Ã* variables:
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** $request_body,
> $request_body_file. You should not
> > > Â Â Â use these
> > > Â Â Â > > Ã* Â Ã* Â Ã* variables any
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** more while their values are
> undefined.
> > > Â Â Â > > Ã* Â Ã* Â Ã* >
> > > Â Â Â > >
> > > Â Â Â > > Ã* Â Ã* Â Ã* Hello,
> > > Â Â Â > >
> > > Â Â Â > > Ã* Â Ã* Â Ã* This patch sounds exactly like what I need
> aswell!
> > > Â Â Â > > Ã* Â Ã* Â Ã* I assume it works for both POST and PUT
> requests?
> > > Â Â Â > >
> > > Â Â Â > > Ã* Â Ã* Â Ã* Thanks,
> > > Â Â Â > >
> > > Â Â Â > > Ã* Â Ã* Â Ã* -- Pasi
> > > Â Â Â > >
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Hello!
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** @yaoweibin
> > > Â Â Â > > Ã* Â Ã* Â Ã* >
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã** If you are eager
> for this feature, you
> > > Â Â Â could try my
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã** patch:
> > > Â Â Â [2][2][4][5]https://github.com/taobao/tengine/pull/91.
> > > Â Â Â > > Ã* Â Ã* Â Ã* This patch has
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã** been running in
> our production servers.
> > > Â Â Â > > Ã* Â Ã* Â Ã* >
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** what's the nginx
> version your patch based on?
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Thanks!
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** On Fri, Jan 11, 2013 at
> 5:17 PM, Ã***Ã**
> > >    Ã***Ã**Ã*°Ã**Ã*±Ã**Ã*³
> > > Â Â Â > > Ã* Â Ã* Â Ã* <[3][3][5][6]yaoweibin at gmail.com> wrote:
> > > Â Â Â > > Ã* Â Ã* Â Ã* >
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã** I know nginx
> team are working on it. You
> > > Â Â Â can wait for it.
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã** If you are eager
> for this feature, you
> > > Â Â Â could try my
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã** patch:
> > > Â Â Â [4][4][6][7]https://github.com/taobao/tengine/pull/91.
> > > Â Â Â > > Ã* Â Ã* Â Ã* This patch has
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã** been running in
> our production servers.
> > > Â Â Â > > Ã* Â Ã* Â Ã* >
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã** 2013/1/11 li
> zJay
> > > Â Â Â <[5][5][7][8]zjay1987 at gmail.com>
> > > Â Â Â > > Ã* Â Ã* Â Ã* >
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã** Ã* Ã** Hello!
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã** Ã* Ã** is it
> possible that nginx will not
> > > Â Â Â buffer the client
> > > Â Â Â > > Ã* Â Ã* Â Ã* body before
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã** Ã* Ã** handle
> the request to upstream?
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã** Ã* Ã** we want
> to use nginx as a reverse
> > > Â Â Â proxy to upload very
> > > Â Â Â > > Ã* Â Ã* Â Ã* very big file
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã** Ã* Ã** to the
> upstream, but the default
> > > Â Â Â behavior of nginx is to
> > > Â Â Â > > Ã* Â Ã* Â Ã* save the
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã** Ã* Ã** whole
> request to the local disk
> > > Â Â Â first before handle it
> > > Â Â Â > > Ã* Â Ã* Â Ã* to the
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã** Ã* Ã** upstream,
> which make the upstream
> > > Â Â Â impossible to process
> > > Â Â Â > > Ã* Â Ã* Â Ã* the file on
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã** Ã* Ã** the fly
> when the file is uploading,
> > > Â Â Â results in much high
> > > Â Â Â > > Ã* Â Ã* Â Ã* request
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã** Ã* Ã** latency
> and server-side resource
> > > Â Â Â consumption.
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã** Ã* Ã** Thanks!
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã** Ã* Ã**
> > > Â Â Â _______________________________________________
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã** Ã* Ã** nginx
> mailing list
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã** Ã* Ã**
> [6][6][8][9]nginx at nginx.org
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã** Ã* Ã**
> > > Â Â Â [7][7][9][10]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â Â Â > > Ã* Â Ã* Â Ã* >
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã** --
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã** Weibin Yao
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã** Developer @
> Server Platform Team of
> > > Â Â Â Taobao
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã**
> > > Â Â Â _______________________________________________
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã** nginx mailing
> list
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã**
> [8][8][10][11]nginx at nginx.org
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** Ã* Ã**
> > > Â Â
> Â [9][9][11][12]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â Â Â > > Ã* Â Ã* Â Ã* >
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã**
> > > Â Â Â _______________________________________________
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã** nginx mailing list
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã**
> [10][10][12][13]nginx at nginx.org
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Ã* Ã**
> > > Â Â
> Â [11][11][13][14]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â Â Â > > Ã* Â Ã* Â Ã* >
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** --
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Weibin Yao
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Developer @ Server Platform
> Team of Taobao
> > > Â Â Â > > Ã* Â Ã* Â Ã* >
> > > Â Â Â > > Ã* Â Ã* Â Ã* > References
> > > Â Â Â > > Ã* Â Ã* Â Ã* >
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** Visible links
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** 1.
> mailto:[12][14][15]zjay1987 at gmail.com
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** 2.
> > > Â Â Â [13][15][16]https://github.com/taobao/tengine/pull/91
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** 3.
> mailto:[14][16][17]yaoweibin at gmail.com
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** 4.
> > > Â Â Â [15][17][18]https://github.com/taobao/tengine/pull/91
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** 5.
> mailto:[16][18][19]zjay1987 at gmail.com
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** 6.
> mailto:[17][19][20]nginx at nginx.org
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** 7.
> > > Â Â Â [18][20][21]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** 8.
> mailto:[19][21][22]nginx at nginx.org
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* Ã** 9.
> > > Â Â Â [20][22][23]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* 10.
> mailto:[21][23][24]nginx at nginx.org
> > > Â Â Â > > Ã* Â Ã* Â Ã* > Ã** Ã* 11.
> > > Â Â Â [22][24][25]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â Â Â > >
> > > Â Â Â > > Ã* Â Ã* Â Ã* >
> _______________________________________________
> > > Â Â Â > > Ã* Â Ã* Â Ã* > nginx mailing list
> > > Â Â Â > > Ã* Â Ã* Â Ã* > [23][25][26]nginx at nginx.org
> > > Â Â Â > > Ã* Â Ã* Â Ã* >
> [24][26][27]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â Â Â > >
> > > Â Â Â > > Ã* Â Ã* Â Ã*
> _______________________________________________
> > > Â Â Â > > Ã* Â Ã* Â Ã* nginx mailing list
> > > Â Â Â > > Ã* Â Ã* Â Ã* [25][27][28]nginx at nginx.org
> > > Â Â Â > > Ã* Â Ã* Â Ã*
> [26][28][29]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â Â Â > >
> > > Â Â Â > > Ã* Â Ã* --
> > > Â Â Â > > Ã* Â Ã* Weibin Yao
> > > Â Â Â > > Ã* Â Ã* Developer @ Server Platform Team of Taobao
> > > Â Â Â > >
> > > Â Â Â > > References
> > > Â Â Â > >
> > > Â Â Â > > Ã* Â Ã* Visible links
> > > Â Â Â > > Ã* Â Ã* 1. mailto:[29][30]pasik at iki.fi
> > > Â Â Â > > Ã* Â Ã* 2.
> [30][31]https://github.com/taobao/tengine/pull/91
> > > Â Â Â > > Ã* Â Ã* 3. mailto:[31][32]yaoweibin at gmail.com
> > > Â Â Â > > Ã* Â Ã* 4.
> [32][33]https://github.com/taobao/tengine/pull/91
> > > Â Â Â > > Ã* Â Ã* 5. mailto:[33][34]zjay1987 at gmail.com
> > > Â Â Â > > Ã* Â Ã* 6. mailto:[34][35]nginx at nginx.org
> > > Â Â Â > > Ã* Â Ã* 7.
> [35][36]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â Â Â > > Ã* Â Ã* 8. mailto:[36][37]nginx at nginx.org
> > > Â Â Â > > Ã* Â Ã* 9.
> [37][38]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â Â Â > > Ã* Â 10. mailto:[38][39]nginx at nginx.org
> > > Â Â Â > > Ã* Â 11.
> [39][40]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â Â Â > > Ã* Â 12. mailto:[40][41]zjay1987 at gmail.com
> > > Â Â Â > > Ã* Â 13.
> [41][42]https://github.com/taobao/tengine/pull/91
> > > Â Â Â > > Ã* Â 14. mailto:[42][43]yaoweibin at gmail.com
> > > Â Â Â > > Ã* Â 15.
> [43][44]https://github.com/taobao/tengine/pull/91
> > > Â Â Â > > Ã* Â 16. mailto:[44][45]zjay1987 at gmail.com
> > > Â Â Â > > Ã* Â 17. mailto:[45][46]nginx at nginx.org
> > > Â Â Â > > Ã* Â 18.
> [46][47]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â Â Â > > Ã* Â 19. mailto:[47][48]nginx at nginx.org
> > > Â Â Â > > Ã* Â 20.
> [48][49]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â Â Â > > Ã* Â 21. mailto:[49][50]nginx at nginx.org
> > > Â Â Â > > Ã* Â 22.
> [50][51]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â Â Â > > Ã* Â 23. mailto:[51][52]nginx at nginx.org
> > > Â Â Â > > Ã* Â 24.
> [52][53]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â Â Â > > Ã* Â 25. mailto:[53][54]nginx at nginx.org
> > > Â Â Â > > Ã* Â 26.
> [54][55]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â Â Â >
> > > Â Â Â > > _______________________________________________
> > > Â Â Â > > nginx mailing list
> > > Â Â Â > > [55][56]nginx at nginx.org
> > > Â Â Â > > [56][57]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â Â Â >
> > > Â Â Â > _______________________________________________
> > > Â Â Â > nginx mailing list
> > > Â Â Â > [57][58]nginx at nginx.org
> > > Â Â Â > [58][59]http://mailman.nginx.org/mailman/listinfo/nginx
> > >
> > > Â Â Â _______________________________________________
> > > Â Â Â nginx mailing list
> > > Â Â Â [59][60]nginx at nginx.org
> > > Â Â Â [60][61]http://mailman.nginx.org/mailman/listinfo/nginx
> > >
> > > Â Â --
> > > Â Â Weibin Yao
> > > Â Â Developer @ Server Platform Team of Taobao
> > >
> > > References
> > >
> > > Â Â Visible links
> > > Â Â 1. mailto:[62]pasik at iki.fi
> > > Â Â 2.
> [63]https://github.com/cfsego/limit_upload_rate/blob/master/for-nginx.patch
> > > Â Â 3. mailto:[64]pasik at iki.fi
> > > Â Â 4. [65]https://github.com/taobao/tengine/pull/91
> > > Â Â 5. mailto:[66]yaoweibin at gmail.com
> > > Â Â 6. [67]https://github.com/taobao/tengine/pull/91
> > > Â Â 7. mailto:[68]zjay1987 at gmail.com
> > > Â Â 8. mailto:[69]nginx at nginx.org
> > > Â Â 9. [70]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â 10. mailto:[71]nginx at nginx.org
> > > Â 11. [72]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â 12. mailto:[73]nginx at nginx.org
> > > Â 13. [74]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â 14. mailto:[75]zjay1987 at gmail.com
> > > Â 15. [76]https://github.com/taobao/tengine/pull/91
> > > Â 16. mailto:[77]yaoweibin at gmail.com
> > > Â 17. [78]https://github.com/taobao/tengine/pull/91
> > > Â 18. mailto:[79]zjay1987 at gmail.com
> > > Â 19. mailto:[80]nginx at nginx.org
> > > Â 20. [81]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â 21. mailto:[82]nginx at nginx.org
> > > Â 22. [83]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â 23. mailto:[84]nginx at nginx.org
> > > Â 24. [85]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â 25. mailto:[86]nginx at nginx.org
> > > Â 26. [87]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â 27. mailto:[88]nginx at nginx.org
> > > Â 28. [89]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â 29. mailto:[90]pasik at iki.fi
> > > Â 30. [91]https://github.com/taobao/tengine/pull/91
> > > Â 31. mailto:[92]yaoweibin at gmail.com
> > > Â 32. [93]https://github.com/taobao/tengine/pull/91
> > > Â 33. mailto:[94]zjay1987 at gmail.com
> > > Â 34. mailto:[95]nginx at nginx.org
> > > Â 35. [96]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â 36. mailto:[97]nginx at nginx.org
> > > Â 37. [98]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â 38. mailto:[99]nginx at nginx.org
> > > Â 39. [100]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â 40. mailto:[101]zjay1987 at gmail.com
> > > Â 41. [102]https://github.com/taobao/tengine/pull/91
> > > Â 42. mailto:[103]yaoweibin at gmail.com
> > > Â 43. [104]https://github.com/taobao/tengine/pull/91
> > > Â 44. mailto:[105]zjay1987 at gmail.com
> > > Â 45. mailto:[106]nginx at nginx.org
> > > Â 46. [107]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â 47. mailto:[108]nginx at nginx.org
> > > Â 48. [109]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â 49. mailto:[110]nginx at nginx.org
> > > Â 50. [111]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â 51. mailto:[112]nginx at nginx.org
> > > Â 52. [113]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â 53. mailto:[114]nginx at nginx.org
> > > Â 54. [115]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â 55. mailto:[116]nginx at nginx.org
> > > Â 56. [117]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â 57. mailto:[118]nginx at nginx.org
> > > Â 58. [119]http://mailman.nginx.org/mailman/listinfo/nginx
> > > Â 59. mailto:[120]nginx at nginx.org
> > > Â 60. [121]http://mailman.nginx.org/mailman/listinfo/nginx
> >
> > > _______________________________________________
> > > nginx mailing list
> > > [122]nginx at nginx.org
> > > [123]http://mailman.nginx.org/mailman/listinfo/nginx
> >
> > _______________________________________________
> > nginx mailing list
> > [124]nginx at nginx.org
> > [125]http://mailman.nginx.org/mailman/listinfo/nginx
>
> _______________________________________________
> nginx mailing list
> [126]nginx at nginx.org
> [127]http://mailman.nginx.org/mailman/listinfo/nginx
>
> --
> Weibin Yao
> Developer @ Server Platform Team of Taobao
>
> References
>
> Visible links
> 1. mailto:pasik at iki.fi
> 2. mailto:pasik at iki.fi
> 3. https://github.com/cfsego/limit_upload_rate/blob/master/for-nginx.patch
> 4. mailto:pasik at iki.fi
> 5. https://github.com/taobao/tengine/pull/91
> 6. mailto:yaoweibin at gmail.com
> 7. https://github.com/taobao/tengine/pull/91
> 8. mailto:zjay1987 at gmail.com
> 9. mailto:nginx at nginx.org
> 10. http://mailman.nginx.org/mailman/listinfo/nginx
> 11. mailto:nginx at nginx.org
> 12. http://mailman.nginx.org/mailman/listinfo/nginx
> 13. mailto:nginx at nginx.org
> 14. http://mailman.nginx.org/mailman/listinfo/nginx
> 15. mailto:zjay1987 at gmail.com
> 16. https://github.com/taobao/tengine/pull/91
> 17. mailto:yaoweibin at gmail.com
> 18. https://github.com/taobao/tengine/pull/91
> 19. mailto:zjay1987 at gmail.com
> 20. mailto:nginx at nginx.org
> 21. http://mailman.nginx.org/mailman/listinfo/nginx
> 22. mailto:nginx at nginx.org
> 23. http://mailman.nginx.org/mailman/listinfo/nginx
> 24. mailto:nginx at nginx.org
> 25. http://mailman.nginx.org/mailman/listinfo/nginx
> 26. mailto:nginx at nginx.org
> 27. http://mailman.nginx.org/mailman/listinfo/nginx
> 28. mailto:nginx at nginx.org
> 29. http://mailman.nginx.org/mailman/listinfo/nginx
> 30. mailto:pasik at iki.fi
> 31. https://github.com/taobao/tengine/pull/91
> 32. mailto:yaoweibin at gmail.com
> 33. https://github.com/taobao/tengine/pull/91
> 34. mailto:zjay1987 at gmail.com
> 35. mailto:nginx at nginx.org
> 36. http://mailman.nginx.org/mailman/listinfo/nginx
> 37. mailto:nginx at nginx.org
> 38. http://mailman.nginx.org/mailman/listinfo/nginx
> 39. mailto:nginx at nginx.org
> 40. http://mailman.nginx.org/mailman/listinfo/nginx
> 41. mailto:zjay1987 at gmail.com
> 42. https://github.com/taobao/tengine/pull/91
> 43. mailto:yaoweibin at gmail.com
> 44. https://github.com/taobao/tengine/pull/91
> 45. mailto:zjay1987 at gmail.com
> 46. mailto:nginx at nginx.org
> 47. http://mailman.nginx.org/mailman/listinfo/nginx
> 48. mailto:nginx at nginx.org
> 49. http://mailman.nginx.org/mailman/listinfo/nginx
> 50. mailto:nginx at nginx.org
> 51. http://mailman.nginx.org/mailman/listinfo/nginx
> 52. mailto:nginx at nginx.org
> 53. http://mailman.nginx.org/mailman/listinfo/nginx
> 54. mailto:nginx at nginx.org
> 55. http://mailman.nginx.org/mailman/listinfo/nginx
> 56. mailto:nginx at nginx.org
> 57. http://mailman.nginx.org/mailman/listinfo/nginx
> 58. mailto:nginx at nginx.org
> 59. http://mailman.nginx.org/mailman/listinfo/nginx
> 60. mailto:nginx at nginx.org
> 61. http://mailman.nginx.org/mailman/listinfo/nginx
> 62. mailto:pasik at iki.fi
> 63. https://github.com/cfsego/limit_upload_rate/blob/master/for-nginx.patch
> 64. mailto:pasik at iki.fi
> 65. https://github.com/taobao/tengine/pull/91
> 66. mailto:yaoweibin at gmail.com
> 67. https://github.com/taobao/tengine/pull/91
> 68. mailto:zjay1987 at gmail.com
> 69. mailto:nginx at nginx.org
> 70. http://mailman.nginx.org/mailman/listinfo/nginx
> 71. mailto:nginx at nginx.org
> 72. http://mailman.nginx.org/mailman/listinfo/nginx
> 73. mailto:nginx at nginx.org
> 74. http://mailman.nginx.org/mailman/listinfo/nginx
> 75. mailto:zjay1987 at gmail.com
> 76. https://github.com/taobao/tengine/pull/91
> 77. mailto:yaoweibin at gmail.com
> 78. https://github.com/taobao/tengine/pull/91
> 79. mailto:zjay1987 at gmail.com
> 80. mailto:nginx at nginx.org
> 81. http://mailman.nginx.org/mailman/listinfo/nginx
> 82. mailto:nginx at nginx.org
> 83. http://mailman.nginx.org/mailman/listinfo/nginx
> 84. mailto:nginx at nginx.org
> 85. http://mailman.nginx.org/mailman/listinfo/nginx
> 86. mailto:nginx at nginx.org
> 87. http://mailman.nginx.org/mailman/listinfo/nginx
> 88. mailto:nginx at nginx.org
> 89. http://mailman.nginx.org/mailman/listinfo/nginx
> 90. mailto:pasik at iki.fi
> 91. https://github.com/taobao/tengine/pull/91
> 92. mailto:yaoweibin at gmail.com
> 93. https://github.com/taobao/tengine/pull/91
> 94. mailto:zjay1987 at gmail.com
> 95. mailto:nginx at nginx.org
> 96. http://mailman.nginx.org/mailman/listinfo/nginx
> 97. mailto:nginx at nginx.org
> 98. http://mailman.nginx.org/mailman/listinfo/nginx
> 99. mailto:nginx at nginx.org
> 100. http://mailman.nginx.org/mailman/listinfo/nginx
> 101. mailto:zjay1987 at gmail.com
> 102. https://github.com/taobao/tengine/pull/91
> 103. mailto:yaoweibin at gmail.com
> 104. https://github.com/taobao/tengine/pull/91
> 105. mailto:zjay1987 at gmail.com
> 106. mailto:nginx at nginx.org
> 107. http://mailman.nginx.org/mailman/listinfo/nginx
> 108. mailto:nginx at nginx.org
> 109. http://mailman.nginx.org/mailman/listinfo/nginx
> 110. mailto:nginx at nginx.org
> 111. http://mailman.nginx.org/mailman/listinfo/nginx
> 112. mailto:nginx at nginx.org
> 113. http://mailman.nginx.org/mailman/listinfo/nginx
> 114. mailto:nginx at nginx.org
> 115. http://mailman.nginx.org/mailman/listinfo/nginx
> 116. mailto:nginx at nginx.org
> 117. http://mailman.nginx.org/mailman/listinfo/nginx
> 118. mailto:nginx at nginx.org
> 119. http://mailman.nginx.org/mailman/listinfo/nginx
> 120. mailto:nginx at nginx.org
> 121. http://mailman.nginx.org/mailman/listinfo/nginx
> 122. mailto:nginx at nginx.org
> 123. http://mailman.nginx.org/mailman/listinfo/nginx
> 124. mailto:nginx at nginx.org
> 125. http://mailman.nginx.org/mailman/listinfo/nginx
> 126. mailto:nginx at nginx.org
> 127. http://mailman.nginx.org/mailman/listinfo/nginx
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
More information about the nginx
mailing list