Defina uma variável padrão em nginx com set

9

No nginx eu posso usar set para definir uma variável, mas é possível definir um padrão?

por exemplo,

set $foo bar if $foo is not defined
    
por Howard 28.11.2012 / 18:07

2 respostas

14
map $foo $new_foo {
    default  $foo;
    ''       bar;
}

ou

if ($foo = '') {
    set $foo bar;
}
por 28.11.2012 / 20:16
0

Isso também funciona:

map $foo $foo {
    default '';
}
map $foo $bar {
    default '';
    'bar' 'bar';
    'foo' $foo;   <----- nginx: [emerg] unknown "foo" variable
}

map $foo $foo {} resolve o erro nginx: [emerg] unknown "foo" variable   - só não parece certo - mas funciona.

Observação: map deve estar no bloco http {} ( nginx/conf.d )

    
por 25.11.2018 / 19:56

Tags