Nginx限流防爆破

结城 Nginx 9 次阅读 275 字 发布于 2026-05-03 预计阅读时间: 1 分钟


限制IP每秒链接数量

这段配置的目的是:

  • 限制每个 IP 地址最多只能建立 5 个并发连接。
  • 限制每个虚拟主机最多只能建立 10 个并发连接。
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 10;
  }
}

限制IP每秒请求数量

这段配置的目的是:

  • 限制每个 IP 地址每秒最多 5 个请求,允许 5 个突发请求,超过限制立即返回 503 错误。
  • 限制每个虚拟主机每秒最多 10 个请求,允许 10 个突发请求(Nginx 会尝试平滑处理这些突发请求)。
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;
  }
}
给时光以生命,给岁月以文明
最后更新于 2026-06-15