如何在所有文件夹上设置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
答案 0 :(得分:0)
这是您不允许在if
内使用指令的情况之一。
您可以使用中间变量:
set $burst 75;
if ( $uri !~ ^/(uploads|public) ) {
set $burst 5;
}
limit_req zone=one burst=5 nodelay;
或者有一个单独的location
。
更详细的问题答案涵盖了未来想法的更多细节:Magento and nginx - multiwebsite configuration。