ubuntu

Ubuntu下Nginx如何限制访问速度

小樊
37
2025-09-05 08:08:23
栏目: 智能运维

在Ubuntu下,您可以使用Nginx的ngx_http_limit_req_module模块来限制访问速度。以下是如何配置此模块的步骤:

  1. 确保已安装Nginx。如果尚未安装,请运行以下命令:
sudo apt update
sudo apt install nginx
  1. 创建一个新的配置文件,例如/etc/nginx/conf.d/rate-limit.conf,并使用文本编辑器打开它,如nano:
sudo nano /etc/nginx/conf.d/rate-limit.conf
  1. 在新创建的配置文件中,添加以下内容以设置访问速度限制。您可以根据需要调整limit_req_zonelimit_req指令的值。
http {
    # 定义一个名为"one"的共享内存区域,用于存储请求速率信息。key为$binary_remote_addr(客户端IP),zone大小为1m,最多允许30个并发请求。
    limit_req_zone $binary_remote_addr zone=one:1m rate=30r/s;

    server {
        listen 80;
        server_name example.com; # 将此值更改为您的域名或IP地址

        location / {
            # 应用名为"one"的速率限制
            limit_req zone=one burst=5 nodelay;

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

在这个例子中,我们设置了每秒最多允许30个请求,允许短时间内的突发请求达到5个。nodelay参数表示不对请求进行延迟处理,即立即响应允许的请求。

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

  2. 检查Nginx配置文件的语法是否正确:

sudo nginx -t

如果一切正常,您将看到以下输出:

nginx: configuration file /etc/nginx/nginx.conf test is successful
  1. 重新加载Nginx以应用更改:
sudo systemctl reload nginx

现在,Nginx已配置为限制访问速度。请注意,这些设置仅适用于HTTP请求。如果您还需要限制HTTPS请求,请确保在相应的server块中添加相同的配置。

0
看了该问题的人还看了