我正在寻找一种方法来限制 Nginx 每秒的定位请求数独立的原始 IP。据我所知,速率限制功能是 IP 敏感的,无法关闭。
这里正确的方法是什么?
答案1
就像这样
limit_req_zone global zone=global_limit:1k rate=50/s;
该global
部分是 Nginx 用于存储请求的密钥。通过将其设置为静态字符串(可以是任何内容)而不是变量,所有请求都将进入同一个存储桶。
要按 IP 进行限制,您可以将其设置为$binary_remote_addr
。您可以对几乎任何内容进行评级限制(请参阅https://www.nginx.com/blog/dynamic-bandwidth-limits-nginx-plus-key-value-store/#Complete-Sample-NGINX-Configuratio(对于复杂的例子)