first of all: to protect the django admin a bit, I always use a URL for an admin other than / admin /, it would be a good idea to deploy the admin as a second application in a different domain or subdomain
You can limit requests per minute for the entire web application through IPTABLES / NETFILTER. a tutorial on how to do this can be found in the debian administrator . this is an example of how to protect ssh port, but you can use the same method for http.
You can use the NginxHttpLimitZone module to limit the number of simultaneous connections for a designated session or as a special case from a single IP address. Edit nginx.conf:
from www.cyberciti.biz
limit_zone slimits $binary_remote_addr 5m; limit_conn slimits 5;
The above will limit the remote clients to no more than 5 simultaneous βopenβ connections to one remote IP address.
source share