Re: Почему пустой if ломает работу try files?

Илья Шипицин chipitsine на gmail.com
Ср Сен 30 05:49:18 UTC 2020


читаемость штука субъективная и скорее предмет холиваров. уверен, найдется
непустое множество людей, для которых ваш вариант нечитаемый.

наверное, хороший ответ про недостаток читаемости может заключаться в том,
что конфиг можно сопровождать комментариями, улучшающими читаемость.

а добавить кусок кода, который будет делать примерно то, что можно сделать
без него, это усложнение на ровном месте и потенциальный источник ошибок

ср, 30 сент. 2020 г. в 10:44, Alexey Galygin <mif на me.com>:

> да, примеры были из habr, но и там к статье были претензии к map-решению
> + я специально усложнил пример регулярными выражениями
>
> поэтому указанный map это не эквивалент
>
> во вторых плохо читаемый хак и издевательство над линейной логикой
> зачем такие костыли, если можно доделать нормальный if?
>
>
>
> On 30 Sep 2020, at 05:14, fox <red-fox0 на ya.ru> wrote:
>
> Троллишь?
>
> map "$http_user_agent:$method:$uri" $block {
>    "HackYou:POST:/admin/some/url"  "1";
> }
>
> if ($block) {
>    return 403;
> }
>
>
> 30.09.2020 02:24, Alexey Galygin пишет:
>
> не вкусовщина
> часто очень не хватает простейших 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") { return403; }
>
> vs условно:
>
> if/eif ($http_user_agent~ “HackYou” && $method= “POST” && $uri~
> “^/admin/some/url”) {
> return403;
> }
>
>
> On 29 Sep 2020, at 21:49, Илья Шипицин <chipitsine на gmail.com
> <mailto:chipitsine на gmail.com <chipitsine на gmail.com>>> wrote:
>
> это вкусовщина же. вы готовы писать "eif", чтобы выразить свою мысль в
> определенном синтаксисе.
> сейчас вы точно так же выражаете свою мысль через map-ы.
>
> по сути просто диалекты языка
>
> вт, 29 сент. 2020 г. в 22:41, Alexey Galygin <mif на me.com
> <mailto:mif на me.com <mif на me.com>>>:
>
>    иногда трудно обойтись без дополнительной логики,
>    которую ради такой мелочи отдавать на backend грустно
>
>    и речь про улучшение поведения исключительно с обратной совместимостью
>
>    если совсем никак, то можно добавить условно extended if — eif
>
>
> On 29 Sep 2020, at 19:47, fox <red-fox0 на ya.ru
>
>    <mailto:red-fox0 на ya.ru <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 <pluknet на nginx.com>>> wrote:
>
>
>
> On 29 Sep 2020, at 17:12, Ilya Evseev
>
>    <nginx-forum на forum.nginx.org <mailto:nginx-forum на forum.nginx.org
> <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
>
> --
> Sergey Kandaurov
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org <mailto:nginx-ru на nginx.org <nginx-ru на nginx.org>>
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org <mailto:nginx-ru на nginx.org <nginx-ru на nginx.org>>
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org <mailto:nginx-ru на nginx.org <nginx-ru на nginx.org>>
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
>
>    _______________________________________________
>    nginx-ru mailing list
>    nginx-ru на nginx.org <mailto:nginx-ru на nginx.org <nginx-ru на nginx.org>>
>    http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org <mailto:nginx-ru на nginx.org <nginx-ru на nginx.org>>
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> 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/20200930/b2d1654e/attachment-0001.htm>


Подробная информация о списке рассылки nginx-ru