我在 nginx 配置中设置了速率限制。通常,你会定义一个位置并定义速率限制区域。我希望该区域适用于所有文件在网络服务器上。
limit_req_zone $binary_remote_addr zone=zone1:3m rate=5r/m;
limit_req_status 429;
server {
listen 80 http2;
listen 443 ssl http2;
server_name SERVERNAME;
root /var/www/cdn/public_html/;
#SSL Config
ssl_certificate PATH;
ssl_certificate_key PATH;
location / {
limit_req zone=zone1 nodelay;
}
}
我知道该位置/
不起作用。这就是为什么我问如何将其应用于所有文件。
例如我所说的文件/files/foo.zip
答案1
这limit_req
指令可能出现在http
、server
或location
上下文中。
你的location /
区块应该可以工作,如果它是仅有的在该配置中的位置(正如您的示例所暗示的那样)。
但要将其应用到整个服务器,明显的放置位置就是server
块。