动态添加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;
}
来源