动态添加ip黑名单

黑名单配置

在http模块最后加上配置
 黑名单设置: 

 include /etc/nginx/ip.black;

黑名单示例:

deny 127.0.0.1;
deny 127.0.0.2;

创建脚本

black_ip_task.sh

#!/bin/bash
tail -n50000 /var/log/nginx/access.log \
|awk '{print $1,$12}' \
|grep -i -v -E "google|yahoo|baidu|msnbot|FeedSky|sogou|360|bing|soso|403|admin" \
|awk '{print $1}'|sort|uniq -c|sort -rn \
|awk '{if($1>5)print "deny "$2";"}' > /etc/nginx/ip.black
#nginx -s reload

创建计划任务

*/30 * * * * /etc/nginx/black_ip_task.sh

白名单设置

示例

location / {
  allow 123.34.22.15;
  allow 33.56.32.1/100;
  deny  all;
} 

来源

Nginx 动态添加IP黑名单_2014Team的博客-CSDN博客_nginx 动态黑名单

Nginx配置IP白名单和黑名单 (qq.com)

更多推荐