Mercurial > hg > nginx
diff src/http/modules/ngx_http_proxy_module.c @ 5883:973ee2276300
Upstream: proxy_limit_rate and friends.
The directives limit the upstream read rate. For example,
"proxy_limit_rate 42" limits proxy upstream read rate to
42 bytes per second.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Tue, 28 Oct 2014 12:29:59 +0300 |
parents | 2aff40b3dea2 |
children | 20d966ad5e89 |
line wrap: on
line diff
--- a/src/http/modules/ngx_http_proxy_module.c Tue Oct 28 12:29:58 2014 +0300 +++ b/src/http/modules/ngx_http_proxy_module.c Tue Oct 28 12:29:59 2014 +0300 @@ -396,6 +396,13 @@ offsetof(ngx_http_proxy_loc_conf_t, upstream.force_ranges), NULL }, + { ngx_string("proxy_limit_rate"), + NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, + ngx_conf_set_size_slot, + NGX_HTTP_LOC_CONF_OFFSET, + offsetof(ngx_http_proxy_loc_conf_t, upstream.limit_rate), + NULL }, + #if (NGX_HTTP_CACHE) { ngx_string("proxy_cache"), @@ -2490,6 +2497,7 @@ conf->upstream.send_lowat = NGX_CONF_UNSET_SIZE; conf->upstream.buffer_size = NGX_CONF_UNSET_SIZE; + conf->upstream.limit_rate = NGX_CONF_UNSET_SIZE; conf->upstream.busy_buffers_size_conf = NGX_CONF_UNSET_SIZE; conf->upstream.max_temp_file_size_conf = NGX_CONF_UNSET_SIZE; @@ -2601,6 +2609,9 @@ prev->upstream.buffer_size, (size_t) ngx_pagesize); + ngx_conf_merge_size_value(conf->upstream.limit_rate, + prev->upstream.limit_rate, 0); + ngx_conf_merge_bufs_value(conf->upstream.bufs, prev->upstream.bufs, 8, ngx_pagesize);