ubuntu

Ubuntu下如何限制Nginx访问速度

小樊
38
2025-07-30 09:18:05
栏目: 智能运维

在Ubuntu下,您可以使用nginxngx_http_limit_req_module模块来限制访问速度。以下是配置步骤:

  1. 确保已安装Nginx。如果尚未安装,请运行以下命令:
sudo apt update
sudo apt install nginx
  1. 创建一个新的配置文件,例如/etc/nginx/conf.d/bandwidth-limit.conf,并使用文本编辑器打开它,如nano
sudo nano /etc/nginx/conf.d/bandwidth-limit.conf
  1. 在新创建的配置文件中,添加以下内容以设置访问速度限制:
http {
    # 限制请求速率的共享内存区域
    limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s;

    server {
        listen 80;
        server_name example.com; # 将此处替换为您的域名或IP地址

        location / {
            # 应用限制请求速率的设置
            limit_req zone=mylimit burst=5 nodelay;

            root /var/www/html; # 将此处替换为您的网站根目录
            index index.html index.htm;
        }
    }
}

在这个例子中,我们限制了每个IP地址每秒只能发送1个请求。burst参数允许短时间内的突发请求,这里设置为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将按照您设置的限制访问速度。请注意,这些设置仅适用于单个IP地址。如果您需要更复杂的限制(例如基于用户或API密钥的限制),您可能需要使用第三方模块或编写自定义模块。

0
看了该问题的人还看了