да, примеры были из habr, но и там к статье были претензии к map-решению
+ я специально усложнил пример регулярными выражениями
поэтому указанный map это не эквивалент
во вторых плохо читаемый хак и издевательство над линейной логикой
зачем такие костыли, если можно доделать нормальный if?
> O
читаемость штука субъективная и скорее предмет холиваров. уверен, найдется
непустое множество людей, для которых ваш вариант нечитаемый.
наверное, хороший ответ про недостаток читаемости может заключаться в том,
что конфиг можно сопровождать комментариями, улучшающими читаемость.
а добавить кусок
Троллишь?
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~
не вкусовщина
часто очень не хватает простейших 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") {
ret
иногда трудно обойтись без дополнительной логики,
которую ради такой мелочи отдавать на backend грустно
и речь про улучшение поведения исключительно с обратной совместимостью
если совсем никак, то можно добавить условно extended if — eif
> On 29 Sep 2020, at 19:47, fox wrote:
>
> 1) может, по
присоединяюсь к вопросу:
почему бы не сделать if нормальным? чтобы без артефактов… и немного мощнее
нам вот тоже приходится делать по несколько map, чтобы логику чуть более
сложную построить…
и это ужас
> On 29 Sep 2020, at 19:29, Sergey Kandaurov wrote:
>
>
>> On 29 Sep 2020, at 17:12, Ilya
это вкусовщина же. вы готовы писать "eif", чтобы выразить свою мысль в
определенном синтаксисе.
сейчас вы точно так же выражаете свою мысль через map-ы.
по сути просто диалекты языка
вт, 29 сент. 2020 г. в 22:41, Alexey Galygin :
> иногда трудно обойтись без дополнительной логики,
> которую ради
1) может, потому что конфиг - это не язык программирования?
2) изменение поведения сломает тысячи существующих систем.
29.09.2020 23:31, Alexey Galygin пишет:
> присоединяюсь к вопросу:
>
> почему бы не сделать if нормальным? чтобы без артефактов… и немного мощнее
>
> нам вот тоже приходится д
> On 29 Sep 2020, at 17:12, Ilya Evseev wrote:
>
> Имеется nginx 1.19.2 со следующей настройкой:
>
>server {
>location / {
>if ($http_user_agent ~ "TestAgent") { }
>try_files $uri $uri/ /index.html;
>}
>}
>
> Почему попадание в if меняет логику р
Имеется nginx 1.19.2 со следующей настройкой:
server {
location / {
if ($http_user_agent ~ "TestAgent") { }
try_files $uri $uri/ /index.html;
}
}
Проверяю:
1) curl http://127.0.0.1/unknown -- правильно возвращает index.html
2) curl http://127.0.0.1
10 matches
Mail list logo