Re: Почему пустой if ломает работу try files?
fox
red-fox0 на ya.ru
Ср Сен 30 02:14:22 UTC 2020
Троллишь?
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>> 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
>> >>>
>> >>> --
>> >>> Sergey Kandaurov
>> >>>
>> >>> _______________________________________________
>> >>> nginx-ru mailing list
>> >>> nginx-ru на nginx.org <mailto: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>
>> >> 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
>>
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru на nginx.org <mailto: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>
>> 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