nginx添加访问设置,限制ip并发

添加limit_req_zone

# /etc/nginx/nginx.conf
http {
  #nginx支持从IP上request limit。现在需要限制1 request/min per IP
  limit_req_zone $binary_remote_addr zone=sms:10m rate=1r/m;
  #limit_req_zone $binary_remote_addr zone=promote_req_limit:50m rate=1r/s;
  #limit_conn_zone $binary_remote_addr zone=perip:50m;
  ...
}

location中应用limit_req_zone

server {
  ...
  #对某个访问的目录网址进行限制
  location ~ ^(/wap/send_sms_code) {
      limit_req zone=sms nodelay;
      proxy_pass http://127.0.0.1:5000;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
  }
  ...
}
#这样设置同一IP在一分钟内只能访问该URL一次,否则返回503 server unavailable

也可以直接在server下进行应用

server{
 ...
  limit_req   zone=promote_req_limit  burst=2 nodelay;
  limit_conn perip 1;
 ...
}

你可能感兴趣的:(nginx添加访问设置,限制ip并发)