nginx防攻击
1、限制请求率:
只能发出一个请求。您可以配置NGINX和NGINX Plus,以允许单个客户端IP地址每2秒尝试登录(相当于每分钟30个请求):
limit_req_zone $binary_remote_addr zone=one:10m rate=30r/m;
server {
# ...
location /login.html {
limit_req zone=one;
}
}
该 limit_req_zone 指令配置一个名为“one”的共享内存区域,用于存储指定密钥的请求状态,在本例中为客户机IP地址($binary_remote_addr)
2、限制连接数:
limit_conn_zone $binary_remote_addr zone=addr:10m;
server {
# ...
location /store/ {
limit_conn addr 10;
# ...
}
}
3、关闭慢连接:
server {
client_body_timeout 5s;
client_header_timeout 5s;
# ...
}
4、列入IP黑名单:
location / {
deny 123.123.123.5;
}
注:个人感觉不如加入hosts.deny或者系统防火墙
|