如何对特定文件夹设置 limit_req?

如何对特定文件夹设置 limit_req?

例如,如何对除“上传和公开”之外的所有文件夹设置 limit_req。

我尝试过的:

    location / {
        root /var/www/html/public;
                            if ( $uri !~ ^/(uploads|public) ) {
                                limit_req zone=one burst=5 nodelay;
                            }
...

错误:

nginx: [emerg] "limit_req" directive is not allowed here in /etc/nginx/sites-enabled/my.conf:20

答案1

limit_req不允许进入,if因为您在这里。它只允许进入httpserverlocation

所以你需要location为每一个都设置块。

location /public/ {
    limit_req zone=one burst=5 nodelay;
}
location /uploads/ {
    limit_req zone=one burst=5 nodelay;
}

相关内容