Re: Почему пустой if ломает работу try files?
Alexey Galygin
mif на me.com
Вт Сен 29 19:24:13 UTC 2020
не вкусовщина
часто очень не хватает простейших and/&& и or/||
вот чтобы такое не писать:
if ($http_user_agent ~ "HackYou") {
set $block "A";
}
if ($method = "POST") {
set $block "${block}B";
}
if ($uri ~ “^/admin/some/url") {
set $block "${block}C";
}
if ($block = "ABC") {
return 403;
}
vs условно:
if/eif ($http_user_agent ~ “HackYou” && $method = “POST” && $uri ~ “^/admin/some/url”) {
return 403;
}
> On 29 Sep 2020, at 21:49, Илья Шипицин <chipitsine на gmail.com> wrote:
>
> это вкусовщина же. вы готовы писать "eif", чтобы выразить свою мысль в определенном синтаксисе.
> сейчас вы точно так же выражаете свою мысль через map-ы.
>
> по сути просто диалекты языка
>
> вт, 29 сент. 2020 г. в 22:41, Alexey Galygin <mif на me.com <mailto:mif на me.com>>:
> иногда трудно обойтись без дополнительной логики,
> которую ради такой мелочи отдавать на backend грустно
>
> и речь про улучшение поведения исключительно с обратной совместимостью
>
> если совсем никак, то можно добавить условно extended if — eif
>
>
> > On 29 Sep 2020, at 19:47, fox <red-fox0 на ya.ru <mailto:red-fox0 на ya.ru>> wrote:
> >
> > 1) может, потому что конфиг - это не язык программирования?
> >
> > 2) изменение поведения сломает тысячи существующих систем.
> >
> >
> > 29.09.2020 23:31, Alexey Galygin пишет:
> >> присоединяюсь к вопросу:
> >>
> >> почему бы не сделать if нормальным? чтобы без артефактов… и немного мощнее
> >>
> >> нам вот тоже приходится делать по несколько map, чтобы логику чуть более сложную построить…
> >> и это ужас
> >>
> >>> On 29 Sep 2020, at 19:29, Sergey Kandaurov <pluknet на nginx.com <mailto:pluknet на nginx.com>> wrote:
> >>>
> >>>
> >>>> On 29 Sep 2020, at 17:12, Ilya Evseev <nginx-forum на forum.nginx.org <mailto:nginx-forum на forum.nginx.org>> wrote:
> >>>>
> >>>> Имеется nginx 1.19.2 со следующей настройкой:
> >>>>
> >>>> server {
> >>>> location / {
> >>>> if ($http_user_agent ~ "TestAgent") { }
> >>>> try_files $uri $uri/ /index.html;
> >>>> }
> >>>> }
> >>>>
> >>>> Почему попадание в if меняет логику работы последующего try_files?
> >>>
> >>> https://wiki.nginx.org/IfIsEvil <https://wiki.nginx.org/IfIsEvil>
> >>>
> >>> --
> >>> Sergey Kandaurov
> >>>
> >>> _______________________________________________
> >>> nginx-ru mailing list
> >>> nginx-ru на nginx.org <mailto:nginx-ru на nginx.org>
> >>> http://mailman.nginx.org/mailman/listinfo/nginx-ru <http://mailman.nginx.org/mailman/listinfo/nginx-ru>
> >>
> >> _______________________________________________
> >> nginx-ru mailing list
> >> nginx-ru на nginx.org <mailto:nginx-ru на nginx.org>
> >> http://mailman.nginx.org/mailman/listinfo/nginx-ru <http://mailman.nginx.org/mailman/listinfo/nginx-ru>
> >>
> >
> > _______________________________________________
> > nginx-ru mailing list
> > nginx-ru на nginx.org <mailto:nginx-ru на nginx.org>
> > http://mailman.nginx.org/mailman/listinfo/nginx-ru <http://mailman.nginx.org/mailman/listinfo/nginx-ru>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org <mailto:nginx-ru на nginx.org>
> http://mailman.nginx.org/mailman/listinfo/nginx-ru <http://mailman.nginx.org/mailman/listinfo/nginx-ru>_______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20200929/bc4f2ffe/attachment-0001.htm>
Подробная информация о списке рассылки nginx-ru