ubuntu

Ubuntu中Nginx如何限制访问速度

小樊
35
2025-07-26 08:39:11
栏目: 智能运维

在Ubuntu中,使用Nginx限制访问速度可以通过配置Nginx的ngx_http_limit_req_module模块来实现。这个模块允许你限制客户端请求的速率,从而防止恶意用户或爬虫对服务器发起大量请求。

以下是如何在Ubuntu中使用Nginx限制访问速度的步骤:

  1. 确保已经安装了Nginx。如果还没有安装,可以使用以下命令安装:
sudo apt update
sudo apt install nginx
  1. 创建一个新的Nginx配置文件,例如/etc/nginx/conf.d/rate-limit.conf
sudo nano /etc/nginx/conf.d/rate-limit.conf
  1. 在新创建的配置文件中,添加以下内容以设置访问速度限制:
http {
    # 定义一个名为"limit_req_zone"的共享内存区域,用于存储客户端的请求速率信息
    limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s;

    server {
        listen 80;
        server_name example.com;

        location / {
            # 应用"limit_req"指令,使用之前定义的"mylimit"区域和默认的请求队列长度(40)
            limit_req zone=mylimit burst=40 nodelay;

            root /var/www/html;
            index index.html index.htm;
        }
    }
}

在这个例子中,我们限制了每个IP地址每秒只能发送1个请求。burst参数设置了允许的突发请求数量,默认值为40。nodelay参数表示不对请求进行延迟处理,即立即返回允许的请求。

  1. 保存并关闭配置文件。

  2. 重新加载Nginx以应用更改:

sudo nginx -t
sudo systemctl reload nginx

现在,Nginx将限制访问速度,每个IP地址每秒只能发送1个请求。你可以根据需要调整rateburst参数的值。

0
看了该问题的人还看了