在Ubuntu下,您可以使用nginx
的ngx_http_limit_req_module
模块来限制访问速度。以下是配置步骤:
sudo apt update
sudo apt install nginx
/etc/nginx/conf.d/bandwidth-limit.conf
,并使用文本编辑器打开它,如nano
:sudo nano /etc/nginx/conf.d/bandwidth-limit.conf
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
参数表示不对请求进行延迟处理。
保存并关闭配置文件。
检查Nginx配置文件的语法是否正确:
sudo nginx -t
如果一切正常,您将看到以下输出:
nginx: configuration file /etc/nginx/nginx.conf test is successful
sudo systemctl reload nginx
现在,Nginx将按照您设置的限制访问速度。请注意,这些设置仅适用于单个IP地址。如果您需要更复杂的限制(例如基于用户或API密钥的限制),您可能需要使用第三方模块或编写自定义模块。