debian

Debian Nginx中如何限制访问频率

小樊
45
2025-10-17 23:35:24
栏目: 智能运维

在Debian上的Nginx中,您可以使用ngx_http_limit_req_module模块来限制访问频率。以下是如何设置和使用此模块的步骤:

  1. 确保已安装Nginx: 如果尚未安装,请运行以下命令:

    sudo apt-get update
    sudo apt-get install nginx
    
  2. 创建一个共享内存区域以存储请求计数: 在nginx.conf文件中添加以下行:

    http {
        ...
        limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s;
        ...
    }
    

    这里,我们使用客户端的IP地址作为键来限制请求速率。zone=mylimit:10m定义了一个名为mylimit的区域,大小为10MB。rate=1r/s表示每秒允许的最大请求数为1。

  3. 在需要限制访问频率的serverlocation块中使用limit_req指令:

    server {
        ...
        location / {
            ...
            limit_req zone=mylimit burst=5 nodelay;
            ...
        }
    }
    

    这里,burst=5表示允许短时间内的突发请求达到5个,超过这个数量的请求将被延迟处理。nodelay表示不对这些请求进行延迟处理。

  4. 重新加载Nginx配置以应用更改:

    sudo nginx -t
    sudo systemctl reload nginx
    

现在,Nginx将根据您设置的限制来限制访问频率。如果请求超过了允许的速率,Nginx将返回HTTP 503(Service Temporarily Unavailable)错误。

0
看了该问题的人还看了