New and Changed Information
This document provides procedures for configuring the NGINX rate limit feature. The following table provides an overview of the significant changes to this guide up to this current release.
Feature |
Description |
---|---|
Initial release of document |
Initial release of document |
Understanding the NGINX Rate Limit Feature
NGINX provides REST API services to clients who can read and configure the Cisco ACI fabric. Clients could be the APIC GUI or scripts that have been developed by you or by Cisco.
These services are provided to verify the authentication procedure. If a client sends multiple requests that competes with other applications, then the serviceability of NGINX would be affected for any trusted client as well. For example, if a script sends the same requests in a loop, that will result in the requests being handled in a certain sequence, which will leave other requests waiting for a long period of time where those other requests will eventually time out.
Beginning with Cisco APIC Release 4.2(3), the NGINX rate limit feature is now available to avoid this situation.
Note |
This procedure describes how to configure the NGINX rate limit (global throttling). For information on configuring HTTP and HTTPS AAA login throttling, see "Configuring HTTP and HTTPS Throttling Using the CLI" in the Cisco APIC REST API Configuration Guide. |
Configuring NGINX Rate Limit Using the GUI
Procedure
Step 1 |
Navigate to default management access policy. , then select theThe properties window for the default management policy is displayed. |
Step 2 |
Determine if you want to enable global throttling for HTTP or HTTPS requests.
|
Step 3 |
When you have finished setting the global throttle rate for HTTP or HTTPS requests, click Submit in the lower right corner of the window. |
Configuring NGINX Rate Limit Using the NX-OS Style CLI
Prior to Cisco APIC Release 4.2(3), the following throttling commands were only available through the NX-OS style CLI:
-
enable-throttle: Used to enable HTTP or HTTPS AAA login or refresh throttling.
-
throttle: Used to set the throttle rate used for HTTP or HTTPS communication service after enabling throttling using the enable-throttle command.
Beginning with Cisco APIC Release 4.2(3), the following throttling command is now also available:
-
global-throttle: Used to enable global throttling for HTTP or HTTPS requests.
Note the following behaviors, depending on which throttling command is enabled or disabled:
-
When enable-throttle is disabled and global-throttle is enabled, the login or login refresh is counted as one of the requests in global rate-limiting, but is not counted as login-specific rate-limiting.
-
When enable-throttle is enabled and global-throttle is disabled, only the login or login refresh is affected.
Procedure
Step 1 |
Navigate to the area in the CLI where you can configure the default communication policy: Example:
|
||
Step 2 |
Determine if you want to enable global throttling for HTTP or HTTPS requests.
|
||
Step 3 |
Enable global throttling for the HTTP or HTTPS requests. Example:
|
||
Step 4 |
Set the global throttling rate for the HTTP or HTTPS requests:
Example:
|
||
Step 5 |
Set the global throttling unit for the HTTP or HTTPS requests.
|
||
Step 6 |
To disable global throttling for the HTTP or HTTPS requests: Example:
|
||
Step 7 |
Exit the configuration area for the default communication policy in the CLI. Example:
|
Configuring NGINX Rate Limit Using the REST API
Procedure
Step 1 |
Configure the NGINX rate limit feature through the REST API. The following configurable properties are added to the communication policy, where:
|
Step 2 |
To enable the NGINX rate limit feature:
The rate can be configured using a range of 1 to 10000, which could be rate per second or rate per minute. |
Step 3 |
To disable the NGINX rate limit feature:
|