温馨提示×

Ubuntu下Nginx如何限制访问速率

小樊
46
2025-11-05 06:28:03
栏目: 智能运维

在Ubuntu下,使用Nginx限制访问速率可以通过配置Nginx的ngx_http_limit_req_module模块来实现。这个模块允许你限制请求的速率,以防止恶意用户或爬虫对服务器造成过大压力。

以下是如何配置Nginx以限制访问速率的步骤:

  1. 安装Nginx(如果尚未安装):

    sudo apt update
    sudo apt install nginx
    
  2. 编辑Nginx配置文件: 通常,Nginx的主配置文件位于/etc/nginx/nginx.conf,但你可能需要编辑特定站点的配置文件,通常位于/etc/nginx/sites-available/目录下。例如,编辑默认站点的配置文件:

    sudo nano /etc/nginx/sites-available/default
    
  3. 添加限制速率的配置: 在server块中添加以下配置来限制访问速率。例如,限制每个IP地址每秒最多请求5次:

    http {
        ...
        limit_req_zone $binary_remote_addr zone=mylimit:10m rate=5r/s;
    
        server {
            ...
            location / {
                ...
                limit_req zone=mylimit burst=10 nodelay;
                ...
            }
        }
    }
    

    解释:

    • limit_req_zone $binary_remote_addr zone=mylimit:10m rate=5r/s;:定义了一个名为mylimit的区域,使用客户端的IP地址作为键,限制速率为每秒5次请求,最多允许10个突发请求。
    • limit_req zone=mylimit burst=10 nodelay;:在location块中应用限制,允许最多10个突发请求,并且不延迟处理这些请求。
  4. 保存并退出编辑器: 按Ctrl+X,然后按Y确认保存,最后按Enter退出。

  5. 测试Nginx配置: 在重新加载Nginx之前,先测试配置文件是否有语法错误:

    sudo nginx -t
    
  6. 重新加载Nginx: 如果配置文件没有问题,重新加载Nginx以应用更改:

    sudo systemctl reload nginx
    

通过以上步骤,你就可以在Ubuntu下的Nginx服务器上成功配置访问速率限制。

0