nginx防止ddos策略
1.脚本防御
使用ab进行压力测试,并通过脚本获取访问日志中访问量前3的IP地址
模拟20人发起2000次访问
ab -c 20 -n 2000 http://192.168.189.161/
查询目前nginx日志中访问次数排行前3的IP地址
awk '{print $1 }' /usr/local/nginx/logs/access.log | sort | uniq -c | sort -nr | head -n 3
将IP地址取出后使用iptables封锁即可!
可以结合iptables 编写ddos防御脚本
---------------------------------------------------------------------
#!/bin/bash
ip=($(awk '{print $1 }' /usr/local/nginx/logs/access.log | sort | uniq -c