Connection limiting with NGINX
In addition to limiting bandwidth to ensure fair and equitable access among all users, NGINX is able to place limits on the number of connections. Back in Chapter 7, Reverse Proxy, we covered how to rate limit connections. While they may sound the same, connection limiting is slightly different and has different use cases. Connection limiting is used where you have long running tasks, such as downloads. The previous recipe covering bandwidth limiting only applies per connection, not per IP. We can however combine the two to ensure that each IP address can't exceed the specified bandwidth limit.
Getting ready
Like the bandwidth limiting, connection limiting is built into the core of NGINX; so no further modules are required.
How to do it...
To provide connection limiting, we first need to define a shared memory space to use for tracking. This needs to be done outside of the server
directive and generally placed in the main NGINX configuration file (nginx.conf
)....