![速率限製配置錯誤的機器人](https://rvso.com/image/658338/%E9%80%9F%E7%8E%87%E9%99%90%E8%A3%BD%E9%85%8D%E7%BD%AE%E9%8C%AF%E8%AA%A4%E7%9A%84%E6%A9%9F%E5%99%A8%E4%BA%BA.png)
答案1
您當然可以使用 limit_req_zone 模組在 nginx 中執行此操作。
在 nginx.conf 中設定一個區域:
limit_req_zone $binary_remote_addr zone=one:1000m rate=100r/m;
你也可以用tooX_Forwarded_For
來代替binary_remote_addr
。
在您的網站配置位置區塊中,只需引用該區域:
limit_req zone=one burst=10 nodelay;
文件: http://nginx.org/en/docs/http/ngx_http_limit_req_module.html
答案2
您可以使用fail2ban並使用以下帶有nginx的監獄來限製配置錯誤的機器人
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local 並將其加到底部
[nginx-req-limit]
enabled = true
filter = nginx-req-limit
action = iptables-multiport[name=ReqLimit, port="http,https", protocol=tcp]
logpath = /var/log/nginx/*error.log
findtime = 600
bantime = 7200
maxretry = 10