# HG changeset patch # User Gu Feng <flygoast@126.com> # Date 1442922745 -28800 # Tue Sep 22 19:52:25 2015 +0800 # Node ID 055d05b5dc54a03b764034a92f9bfb3f5a550993 # Parent 0256738454dc7527f9b0bbaf90b3053a70fd99ed Limit Req: make burst value could be explicitly set to 0. The default value of burst is 0 when no 'busrt' in directive limit_req. Maybe it's more reasonable that it could beby flygoast - Nginx Development
Hi, all, I use limit_req module to limit QPS to my upstream, conf like this: http { limit_req_zone $request_uri zone=req_one:10m rate=10000r/s; server { ... location / { limit_req zone=req_one; } } } I use benchmarking tool to stress on one url, but only about 1000 request. I checked source code, found that: ms = (ngx_msec_int_t) (now - lr->last); excessby flygoast - Nginx Development
# HG changeset patch # User Gu Feng <flygoast@126.com> # Date 1414410723 -28800 # Mon Oct 27 19:52:03 2014 +0800 # Node ID ccc3b86835da54273c333e7d6a00f68e0b0e6c27 # Parent 973fded4f461f3a397779b3a1dc80881b1b34974 Upstream: limited next_upstream time and tries when resolving DNS. When got multiple upstream IP addresses using DNS resolving, the number of upstreams tries and the maxinumby flygoast - Nginx Development
# HG changeset patch # User Gu Feng <flygoast@126.com> # Date 1414394704 -28800 # Mon Oct 27 15:25:04 2014 +0800 # Node ID a7d62f0f3000d156477f556e5cb307f229fe6301 # Parent 973fded4f461f3a397779b3a1dc80881b1b34974 Upstream: limited next_upstream time and tries when resolving DNS. When got multiple upstream IP addresses using DNS resolving, the number of upstreams tries and the maxinumby flygoast - Nginx Development
# HG changeset patch # User Gu Feng <flygoast@126.com> # Date 1410965522 -28800 # Wed Sep 17 22:52:02 2014 +0800 # Node ID 5af55dbe8c301357e021bfefb99f0c359cfde7fd # Parent cda4fcb9294c8f5a0998e7c5d57c5143457db766 Avoided to add duplicate hash key in ngx_http_types_slot(). diff -r cda4fcb9294c -r 5af55dbe8c30 src/http/ngx_http.c --- a/src/http/ngx_http.cTue Sep 16 21:12:51 2014 +0400by flygoast - Nginx Development
# HG changeset patch # User FengGu <flygoast@126.com> # Date 1407912835 -28800 # Wed Aug 13 14:53:55 2014 +0800 # Node ID 9dd4e38fcce05bcbba4747873a579bc2c9392dd2 # Parent 92490a725fef588939abfe0e1fe89cda0788d02d Upstream: avoided directly terminating the connection. When memory allocation failed in ngx_http_upstream_cache(), the connection would be terminated directly in ngx_http_upby flygoast - Nginx Development
I wrote a module to process the problem ena.https://github.com/flygoast/ngx_http_types_filter our configuration in production like this: location / { types_filter $uri; ...... proxy_pass http://down_server; } At 2014-08-09 10:34:06,manish-ezest <nginx-forum@nginx.us> wrote: >Hello Wandenberg, > >Yes, the back-end(s3 bucket) is sending Content-Type header for each reby flygoast - Nginx Mailing List - English
# HG changeset patch # User FengGu <flygoast@126.com> # Date 1406702708 -28800 # Wed Jul 30 14:45:08 2014 +0800 # Node ID 9a9f7c2783b1afe0e5d374450daa5df6acbfd332 # Parent 4d092aa2f4637ce50284d2accd99a8e91aae2b4c Dav: ngx_http_map_uri_to_path() errors were not checked. Once error occured, it could lead to use uninitialized variables to log, even more segmentation fault. diff -r 4d0by flygoast - Nginx Development
Thanks for reply. When ngx_ext_rename_file() return NGX_ERROR, it should has called ngx_delete_file(). So I think maybe also should change "ext.delete_file = 1;" to "ext.delete_file = 0;". At 2014-07-08 00:22:23,"Maxim Dounin" <mdounin@mdounin.ru> wrote: >Hello! > >On Mon, Jul 07, 2014 at 05:19:45PM +0800, flygoast wrote: > >> # HG changesby flygoast - Nginx Development
# HG changeset patch # User FengGu <flygoast@126.com> # Date 1404723967 -28800 # Mon Jul 07 17:06:07 2014 +0800 # Node ID d1d597fbf6d8e08059a308d8900e5f90def5377a # Parent a680bf4dddd5c4b106419e3dfb0264815c401275 Upstream: delete temp file when error in ngx_http_upstream_store(). Previously, didn't process the case when ngx_http_map_uri_to_path() returned NULL. And when error occuredby flygoast - Nginx Development
You're right. It still can hang. I have another question: What's the meaning for "c->sent - sent >= limit - (off_t) (2 * ngx_pagesize))"? I don't understand it. Why "2 * ngx_pagesize"? Can you help to explain the logic? Thanks. At 2014-06-26 02:12:33,"Maxim Dounin" <mdounin@mdounin.ru> wrote: >Hello! > >On Wed, Jun 25, 2014 at 10:00:3by flygoast - Nginx Development
At here: in ngx_http_write_filter(): if (limit && c->write->ready && c->sent - sent >= limit - (off_t) (2 * ngx_pagesize)) { c->write->delayed = 1; ngx_add_timer(c->write, 1); } limit's value from clcf->sendfile_max_chunk. In my nginx.conf, I set "sendfile_max_chunk 8k;". I attached a debug log for thby flygoast - Nginx Development
Attach a log for this situation. Thanks. At 2014-06-25 19:23:32,flygoast <flygoast@126.com> wrote: # HG changeset patch # User FengGu <flygoast@126.com> # Date 1403694825 -28800 # Wed Jun 25 19:13:45 2014 +0800 # Node ID 12fd8ef2f6ea3167dd96cb000aafeb2665aeee14 # Parent 63d7d69d0fe48e030ff9fc520c7036dbd1ebc13f Upstream: fix possible request hang when "proxy_buffering"by flygoast - Nginx Development
# HG changeset patch # User FengGu <flygoast@126.com> # Date 1403694825 -28800 # Wed Jun 25 19:13:45 2014 +0800 # Node ID 12fd8ef2f6ea3167dd96cb000aafeb2665aeee14 # Parent 63d7d69d0fe48e030ff9fc520c7036dbd1ebc13f Upstream: fix possible request hang when "proxy_buffering" is off. In ngx_http_upstream_process_non_buffered_request(), when processing non buffered request, if wrby flygoast - Nginx Development
Is this one worked? At 2014-03-07 14:32:43,flygoast <flygoast@126.com> wrote: # HG changeset patch # User FengGu <flygoast@126.com> # Date 1394165926 -28800 # Fri Mar 07 12:18:46 2014 +0800 # Node ID c357bd0684560aa2f90f23bdda5dae9cf7f0b13c # Parent e45fa57ef72590d010c8234cb5c3c6e2ae63e157 Add processing of posted requests in ngx_http_wait_request_handler(). If something lby flygoast - Nginx Development
# HG changeset patch # User FengGu <flygoast@126.com> # Date 1394165926 -28800 # Fri Mar 07 12:18:46 2014 +0800 # Node ID c357bd0684560aa2f90f23bdda5dae9cf7f0b13c # Parent e45fa57ef72590d010c8234cb5c3c6e2ae63e157 Add processing of posted requests in ngx_http_wait_request_handler(). If something like "error_page 400 /foo" is used in a configuration, when the new uri processiby flygoast - Nginx Development
Is this ok? Or return a 500? # HG changeset patch # User FengGu <flygoast@126.com> # Date 1393211386 -28800 # Node ID 8f1937a9f3f632cf060d18053f153bbf6097f5ba # Parent f47c844acbd453c05174200af8df132c33171b35 Fixed segmentation fault with error_page for 400 to named location. When using error_page for code 400 to named location, the bad request's uri would be { 0, NULL }, it would resulby flygoast - Nginx Development
# HG changeset patch # User FengGu <flygoast@126.com> # Date 1392981015 -28800 # Fri Feb 21 19:10:15 2014 +0800 # Node ID 2dd8fd75f1646336b21cb2f4506f1d45b8771e56 # Parent 545a4d393e2fb8d5448dad89d25a110fa72e71d1 Fixed segmentation fault with error_page for 400 to named location When using error_page for code 400 to named location, the bad request's uri would be { 0, NULL }, itby flygoast - Nginx Development
I once wrote a similar module, just directly in the handler, return NGX_HTTP_MOVED_TEMPORARILY; see: https://github.com/flygoast/ngx_http_url_hash_module At 2013-09-11 05:33:31,"Michael Ellery" <mellery451@gmail.com> wrote: >Hello, > >I have an ACCESS_PHASE handler and, in some cases, I want to return a 302 to a different domain. I'm currently doing >the follby flygoast - Nginx Development
Thanks for your response. I've tried to dynamicly find upstream block name. However, now my backend ips are stored in some storage like REDIS, or memcache. In each request, I first to get the ips from the storage, then proxy the request to the backend. Some backends have not only one ip, so I used the usptream to process the innormal situation like 502 in someone of them. Main objective is to rby flygoast - Nginx Development
Hi, guys In my business, I need dynamicly to find the backend ip address according to the request. However, I also want to use the upstream to take advantage of load balance. So I add the variable support in server directive. For sake of avoiding blocking the whole worker due to resolving domain, at present, only dotted decimal IP address should be parsed in the variables. Anyone can help to cby flygoast - Nginx Development
Did you tune the shared memory size in proxy_cache_path? At 2013-03-27 20:34:27,"praveenkumar Muppala" <pravinmuppala@gmail.com> wrote: Hi, We have a nginx1.0.5 version installed in our system. We are getting this error continuously in our nginx error log. ngx_slab_alloc() failed: no memory in cache keys zone "zone-xyz". I have increased this value to 20G, even 30Gby flygoast - Nginx Mailing List - English
No. When the cache expires, the nginx will fetch it from backend. For saving bandwidth, I want to add 'If-Modified-Since' header to the request, so if the content is not modified, the backend will give a 304 response without body. 在 2012-11-21 16:36:06,"chen cw" <crk_world@yahoo.com.cn> 写道: do proxy_cache and proxy_store meets your requirement? On Wed, Novby flygoast - Nginx Development
Hi, I'm using nginx as a reverse proxy with cache. My content almost never changes. So I want to use a conditional GET request when fetch content from backend. However, nginx don't support it. Who have a such patch for it? Can give me? Thanks. PS, I want to know someday nginx will implement it or refuse to implement it? Thank you._______________________________________________ nginx-develby flygoast - Nginx Development
Hi, guys. I'm a new learner of nginx. I havn't found "init_master" pointer in ngx_module_t structure called in anywhere. Is it useless or of some other reasons? Thank you._______________________________________________ nginx-devel mailing list nginx-devel@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-develby flygoast - Nginx Development