NGINX · Rate Limits

Nginx Rate Limits

NGINX is itself a rate-limiting infrastructure component, not a SaaS API. The relevant "rate limits" are the configurable directives that NGINX exposes for downstream services — limit_req_zone, limit_conn_zone, and the leaky-bucket algorithm — plus the management-API rate limits that NGINX Plus / NGINX One expose for monitoring and configuration.

Nginx Rate Limits is the machine-readable rate-limit profile for NGINX on the APIs.io network, conforming to the API Commons Rate Limits specification.

It captures 5 rate-limit definitions, measuring requests_per_second, concurrent_connections, bytes_per_second, and varies.

The profile also includes 4 backoff/retry policies defined and response codes documented for throttled and configuredOverride.

Tagged areas include Rate Limiting, API Gateway, Reverse Proxy, and Web Server.

5 Limits Throttle: 503
Rate LimitingAPI GatewayReverse ProxyWeb Server

Limits

limit_req_zone (configurable directive) configurable (key — typically client IP)
requests_per_second
configurable per-zone via rate=Nr/s
Leaky-bucket algorithm; supports burst= and nodelay options. Default rejection status is 503; override with limit_req_status 429.
limit_conn_zone (configurable directive) configurable (key — typically client IP)
concurrent_connections
configurable per-zone
Bounds simultaneous connections per key.
limit_rate (configurable directive) connection
bytes_per_second
configurable
Bandwidth-limiting per response.
NGINX Plus API instance
varies
see NGINX Plus management API docs
Local management API; not externally rate-limited.
NGINX One Console API tenant
varies
see NGINX One docs
SaaS-side limits not publicly documented.

Policies

Leaky-bucket algorithm
limit_req uses leaky-bucket; configure rate, burst, and nodelay to balance steady-state vs short bursts.
Configurable rejection status
Default 503; set `limit_req_status 429;` to return Retry-After-friendly 429s instead.
Distributed limits
Per-instance shared-memory zones do not synchronize across NGINX instances; use NGINX Plus key-value store with cluster-wide state, or external Redis-backed limiter, for fleet-wide quotas.
Configuration via signal reload
Apply config changes via `nginx -s reload`; SIGHUP reloads config without dropping connections.

Sources