Всем привет.
Начал замечать, что с недавних пор, (на версии 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 на новых версиях?