Nginx防止DDos&&CC攻击

限制每个IP每秒的连接数

http {
  # 用户ip每秒的连接数
  limit_conn_zone $binary_remote_addr zone=peripconn:1m;
  # 虚拟主机每秒的连接数
  limit_conn_zone $server_name zone=perserverconn:1m;
  
  server {
    limit_conn peripconn 5;
    limit_conn perserverconn 50;
  }
}

限制每个IP每秒的请求数

http {
  # ip每秒请求数
  limit_req_zone $binary_remote_addr zone=peripreq:1m rate=5r/s;
  # 虚拟服务器每秒请求数
  limit_req_zone $server_name zone=perserverreq:1m rate=10r/s;
  
  server {
    # burst为突发请求,最大突发请求为5个 nodelay 即为立即返回503 不缓存
    limit_req zone=peripreq burst=5 nodelay;
    limit_req zone=perserverreq burst=10;
  }
}

后注

经过实际测试,一般的个人用机使用用当前方法阻止DDos和CC攻击的效果有是有,但不是很明显。毕竟服务器光处理垃圾请求就已经满负荷运行了,虽然服务器不至于很容易崩溃,但却会导致超时响应。
个人更加推荐上述方式配合使用cdn实现,一来能隐藏网站ip,二来还能加速网站,一举多得

参考链接

如何在nginx上防止恶意的ddos抓取

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值