{"id":27678,"date":"2017-06-13T09:46:33","date_gmt":"2017-06-13T07:46:33","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=27678"},"modified":"2017-06-13T09:46:33","modified_gmt":"2017-06-13T07:46:33","slug":"rate-limiting-with-nginx-and-nginx-plus","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2017\/06\/13\/rate-limiting-with-nginx-and-nginx-plus\/","title":{"rendered":"Rate Limiting with NGINX and NGINX Plus"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p><a href=\"https:\/\/www.nginx.com\/blog\/\">Nginx blog<\/a> (which, if you work with Nginx in any capacity, you should subscribe to) has an excellent <a href=\"https:\/\/www.nginx.com\/blog\/rate-limiting-nginx\/\">guide to rate limiting<\/a>. \u00a0The article explains rate limiting from the basics, through bursts, all the way to more advanced examples, with multiple rate limits for the same location.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>Nginx blog (which, if you work with Nginx in any capacity, you should subscribe to) has an excellent guide to rate limiting. \u00a0The article explains rate limiting from the basics, through bursts, all the way to more advanced examples, with multiple rate limits for the same location.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Rate Limiting with NGINX and NGINX Plus #Nginx #SysAdmin #hosting","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[1,133,62],"tags":[3164,1057,200,1330,2289],"keyring_services":[],"class_list":["post-27678","post","type-post","status-publish","format-standard","hentry","category-general","category-sysadmin","category-technology","tag-nginx","tag-performance","tag-security","tag-web-development","tag-web-hosting"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":27594,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/05\/20\/haproxy-and-nginx-abuse-and-rate-limiting\/","url_meta":{"origin":27678,"position":0},"title":"HAProxy and Nginx abuse and rate limiting","author":"Leonid Mamchenkov","date":"May 20, 2017","format":false,"excerpt":"My brother wrote a follow-up - HAProxy abuse filtering and rate limiting - to his previous post -\u00a0Nginx rate limit by user agent (control bots). \u00a0This is just a tip of the iceberg that we are working with at the office, but it's pretty cool. Hopefully, soon enough our Ansible\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":27440,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/03\/20\/nginx-amplify-comprehensive-nginx-monitoring\/","url_meta":{"origin":27678,"position":1},"title":"Nginx Amplify : comprehensive Nginx monitoring","author":"Leonid Mamchenkov","date":"March 20, 2017","format":false,"excerpt":"Somehow I missed the announcement of the Nginx Amplify (beta) back in November of last year, so here it goes now. Nginx Amplify is a new tool for the comprehensive monitoring of Nginx web servers. \u00a0Here's what it can do for you: Visually identify performance bottlenecks, overloaded servers, or potential\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/03\/nginx-amplify-500x257.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":28234,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/11\/21\/nginx-module-vts-nginx-virtual-host-traffic-status-module\/","url_meta":{"origin":27678,"position":2},"title":"nginx-module-vts &#8211; Nginx virtual host traffic status module","author":"Leonid Mamchenkov","date":"November 21, 2017","format":false,"excerpt":"nginx-module-vts is a handy Nginx module for those who run complex Nginx configurations, with multiple servers, virtual hosts, caches, etc.\u00a0 Here's an example partial screenshot of the output.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/11\/nginx-500x441.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":34255,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/02\/15\/nginx-quick-reference\/","url_meta":{"origin":27678,"position":3},"title":"Nginx Quick Reference","author":"Leonid Mamchenkov","date":"February 15, 2019","format":false,"excerpt":"Nginx Quick Reference is an excellent summary of notes on tweaking the performance and security of the Nginx web server configuration.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/nginx-hardening-checklist.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/nginx-hardening-checklist.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/nginx-hardening-checklist.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/nginx-hardening-checklist.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/nginx-hardening-checklist.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/nginx-hardening-checklist.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":27972,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/09\/08\/nginx-unit\/","url_meta":{"origin":27678,"position":4},"title":"Nginx Unit","author":"Leonid Mamchenkov","date":"September 8, 2017","format":false,"excerpt":"\u00a0 Nginx Unit looks interesting: What is NGINX Unit? NGINX Unit is a new, lightweight, open source application server built to meet the demands of today\u2019s dynamic and distributed applications. Deploy configuration changes with no service disruptions. Run code in multiple languages. Build the foundation of your service mesh. An\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/09\/nginx-unit-500x336.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":38282,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/03\/13\/f5-acquires-nginx\/","url_meta":{"origin":27678,"position":5},"title":"F5 acquires NGINX","author":"Leonid Mamchenkov","date":"March 13, 2019","format":false,"excerpt":"NGINX, the company behind one of the most popular web servers, has been acquired by F5. Of course, I'm glad for the NGINX team and founders, for who this is quite an accomplishment. But at the same time, much like many of the recent acquisitions, this one worries me. NGINX\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/03\/blog-image-expanded-opportunity-F5-NGINX-2.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/03\/blog-image-expanded-opportunity-F5-NGINX-2.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/03\/blog-image-expanded-opportunity-F5-NGINX-2.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/03\/blog-image-expanded-opportunity-F5-NGINX-2.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/27678","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=27678"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/27678\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=27678"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=27678"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=27678"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=27678"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}