例如,如何对除“上传和公开”之外的所有文件夹设置 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
因为您在这里。它只允许进入http
、server
或location
。
所以你需要location
为每一个都设置块。
location /public/ {
limit_req zone=one burst=5 nodelay;
}
location /uploads/ {
limit_req zone=one burst=5 nodelay;
}