Last active
October 9, 2019 08:54
-
-
Save RoyalRajdeep/7235bdba5f196aa2a247d6fcc5dd2411 to your computer and use it in GitHub Desktop.
NGINX Rate Limit, Burst and nodelay
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## https://nginx.org/en/docs/http/ngx_http_limit_req_module.html | |
## https://www.nginx.com/blog/rate-limiting-nginx | |
## Ref. https://github.com/sportebois/nginx-rate-limit-sandbox | |
limit_req_zone $request_uri zone=by_uri:10m rate=30r/m; | |
limit_req_zone $binary_remote_addr zone=by_ip:10m rate=30r/m; | |
server { | |
listen 80; | |
location /by-uri/burst0 { | |
limit_req zone=by_uri; | |
try_files $uri /index.html; | |
} | |
location /by-uri/burst0_nodelay { | |
limit_req zone=by_uri nodelay; | |
try_files $uri /index.html; | |
} | |
location /by-uri/burst5 { | |
limit_req zone=by_uri burst=5; | |
try_files $uri /index.html; | |
} | |
location /by-uri/burst5_nodelay { | |
limit_req zone=by_uri burst=5 nodelay; | |
try_files $uri /index.html; | |
} | |
# Same logic, but in the other rate-rimit zone | |
location /by-ip/burst0 { | |
limit_req zone=by_ip; | |
try_files $uri /index.html; | |
} | |
location /by-ip/burst0_nodelay { | |
limit_req zone=by_ip nodelay; | |
try_files $uri /index.html; | |
} | |
location /by-ip/burst5 { | |
limit_req zone=by_ip burst=5; | |
try_files $uri /index.html; | |
} | |
location /by-ip/burst5_nodelay { | |
limit_req zone=by_ip burst=5 nodelay; | |
try_files $uri /index.html; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment