nginx 配置白黑名单与配置访问频率和连接数

Nginx/Web服务器
354
0
0
2022-03-27
标签   Nginx基础

配置白黑名单

白名单,即不受访问频率和连接数限制的访问服务。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;