有你在真好 的个人博客
nginx 配置白黑名单与配置访问频率和连接数
阅读:2167 添加日期:2021/3/27 23:16:02 原文链接:https://www.toutiao.com/item/6934858655066112519/

配置白黑名单

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

ICP备案号:苏ICP备14035786号-1 苏公网安备 32050502001014号