配置白黑名单
白名单,即不受访问频率和连接数限制的访问服务。Default 1;中的1表示受限制访问。以下配置表示默认受限访问,但192.168.0.100和192.168.101则不受限访问。在启用白名单,在http块加入配置即可。
#设置白名单,白名单不受访问频率和连接数的限制
geo $whiteiplist {
default 1;
192.168.0.100 0;
192.168.101 0;
}
map $whiteiplist $limit {
1 $binary_remote_addr;
0 "";
}
如需要限制某些IP访问服务,可以在http块,或server块,或 location块(选择其中某一块)加入如下配置,表示192.168.0.103的IP将无法访问服务,返回一个错误代码(如前面介绍的503):
deny 192.168.0.103;
配置访问频率和连接数
可以限制客户的请求量和连接数,特别是非法请求,以保证服务的正常运行。
当超过此限制时服务将返回错误代码,比如503。在http块加
#设置限制同一IP对服务器的最大连接数和并发数(速率/限流)
#rate=xr/s表示允许相同标识的客户端的访问频次,这里限制的是每秒10次
limit_req_zone $limit zone=one:10m rate=10r/s;
limit_req zone=one burst=100 nodelay;
#限制同一IP连接数,这里限制同一IP连接数为100
limit_conn_zone $limit zone=perip:10m;
limit_conn perip 100;