在Ubuntu下,您可以使用Nginx的ngx_http_limit_req_module
模块来限制访问速度。以下是如何配置此模块的步骤:
sudo apt update
sudo apt install nginx
/etc/nginx/conf.d/rate-limit.conf
,并使用文本编辑器打开它,如nano:sudo nano /etc/nginx/conf.d/rate-limit.conf
limit_req_zone
和limit_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
参数表示不对请求进行延迟处理,即立即响应允许的请求。
保存并关闭配置文件。
检查Nginx配置文件的语法是否正确:
sudo nginx -t
如果一切正常,您将看到以下输出:
nginx: configuration file /etc/nginx/nginx.conf test is successful
sudo systemctl reload nginx
现在,Nginx已配置为限制访问速度。请注意,这些设置仅适用于HTTP请求。如果您还需要限制HTTPS请求,请确保在相应的server
块中添加相同的配置。