Изменения в блоке if
skeletor
nginx-forum на forum.nginx.org
Ср Сен 30 07:03:01 UTC 2020
Всем привет.
Начал замечать, что с недавних пор, (на версии 1.19.1 точно, и, скорее всего
на 1.17.Х) поведение if поменялось. При этом в документации (что en, что ru
- одинаково) сказано, что такая конструкция будет работать:
if ($slow) {
limit_rate 10k;
}
но на практике нужно писать
if ($slow = 1) {
limit_rate 10k;
}
иначе не работает.
Могу привести конкретный пример, где у меня не работает "упрощенный" (то
есть без сравнения с 1) if:
map $is_bot:$uri:$http_referer $very_bad {
default '';
"~*0:(\/api):(.*bad\.html)" '1';
}
...
if ($very_bad = 1) {return 403;}
Именно так работает. Если же указать
if ($very_bad) {return 403;}
то не работает.
Есть такие, у которых нормально работает "упрощённый" if на новых версиях?
Posted at Nginx Forum: https://forum.nginx.org/read.php?21,289612,289612#msg-289612
Подробная информация о списке рассылки nginx-ru