да, примеры были из habr, но и там к статье были претензии к map-решению + я специально усложнил пример регулярными выражениями
поэтому указанный map это не эквивалент во вторых плохо читаемый хак и издевательство над линейной логикой зачем такие костыли, если можно доделать нормальный if? > On 30 Sep 2020, at 05:14, fox <red-f...@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, Илья Шипицин <chipits...@gmail.com >>> <mailto:chipits...@gmail.com <mailto:chipits...@gmail.com>>> wrote: >>> >>> это вкусовщина же. вы готовы писать "eif", чтобы выразить свою мысль в >>> определенном синтаксисе. >>> сейчас вы точно так же выражаете свою мысль через map-ы. >>> >>> по сути просто диалекты языка >>> >>> вт, 29 сент. 2020 г. в 22:41, Alexey Galygin <m...@me.com >>> <mailto:m...@me.com> >>> <mailto:m...@me.com <mailto:m...@me.com>>>: >>> >>> иногда трудно обойтись без дополнительной логики, >>> которую ради такой мелочи отдавать на backend грустно >>> >>> и речь про улучшение поведения исключительно с обратной совместимостью >>> >>> если совсем никак, то можно добавить условно extended if — eif >>> >>> >>>> On 29 Sep 2020, at 19:47, fox <red-f...@ya.ru <mailto:red-f...@ya.ru> >>> <mailto:red-f...@ya.ru <mailto:red-f...@ya.ru>>> wrote: >>>> >>>> 1) может, потому что конфиг - это не язык программирования? >>>> >>>> 2) изменение поведения сломает тысячи существующих систем. >>>> >>>> >>>> 29.09.2020 23:31, Alexey Galygin пишет: >>>>> присоединяюсь к вопросу: >>>>> >>>>> почему бы не сделать if нормальным? чтобы без артефактов… и >>> немного мощнее >>>>> >>>>> нам вот тоже приходится делать по несколько map, чтобы логику >>> чуть более сложную построить… >>>>> и это ужас >>>>> >>>>>> On 29 Sep 2020, at 19:29, Sergey Kandaurov <pluk...@nginx.com >>>>>> <mailto:pluk...@nginx.com> >>> <mailto:pluk...@nginx.com <mailto:pluk...@nginx.com>>> wrote: >>>>>> >>>>>> >>>>>>> On 29 Sep 2020, at 17:12, Ilya Evseev >>> <nginx-fo...@forum.nginx.org <mailto:nginx-fo...@forum.nginx.org> >>> <mailto:nginx-fo...@forum.nginx.org <mailto:nginx-fo...@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> >>>>>> <mailto: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> <mailto: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> <mailto: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> >>> <mailto: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> <mailto: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