Skip to content

Commit 775388b

Browse files
authored
Provisional RateLimitPolicy proposal (#4324)
Problem: Users want to configure Rate Limiting in NGINX. Solution: Create the provisional RateLimitPolicy enhancement proposal.
1 parent 24547c6 commit 775388b

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

docs/proposals/rate-limiting.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Enhancement Proposal-4059: Rate Limit Policy
2+
3+
- Issue: https://github.com/nginx/nginx-gateway-fabric/issues/4059
4+
- Status: Provisional
5+
6+
## Summary
7+
8+
This Enhancement Proposal introduces the "RateLimitPolicy" API that allows Cluster Operators and Application Developers to configure NGINX's rate limiting settings for Local Rate Limiting (RL per instance) and Global Rate Limiting (RL across all instances). Local Rate Limiting will be available on OSS through the `ngx_http_limit_req_module` while Global Rate Limiting will only be available through NGINX Plus, building off the OSS implementation but also using the `ngx_stream_zone_sync_module` to share state between NGINX instances. In addition to rate limiting on a key, which tells NGINX which rate limit bucket a request goes to, users should also be able to define Conditions on the RateLimitPolicy which decide if the request should be affected by the policy. This will allow for rate limiting on JWT Claim and other NGINX variables.
9+
10+
## Goals
11+
12+
- Define rate limiting settings.
13+
- Outline attachment points (Gateway and HTTPRoute/GRPCRoute) for the rate limit policy.
14+
- Describe inheritance behavior of rate limiting settings when multiple policies exist at different levels.
15+
- Define how Conditions on the rate limit policy work.
16+
17+
## Non-Goals
18+
19+
- Champion a Rate Limiting Gateway API contribution.
20+
- Expose Zone Sync settings.
21+
- Support for attachment to TLSRoute.

0 commit comments

Comments
 (0)