在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
塊中添加相同的配置。