Add variable in module, change value in config

I want to control behaviour of my module at runtime(body filtering
phase), depending on different data (reg exp in headers, value of
different variables…), so I decided to add variable in my module, and
then set value in nginx config with “set” operation in rewrite module.
I am adding variable via ngx_http_add_variable() in pre-config, set
set_handler, and when I am doing "set $my_variable “0” " in nginx
config, I get “duplicate variable my_variable” on nginx start up.
What I am doing wrong? May be I need to set variable by set, and In my
module get index, and then get value of variable?

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,217375,217375#msg-217375

Hello!

On Wed, Oct 26, 2011 at 11:36:00AM -0400, artemg wrote:

I want to control behaviour of my module at runtime(body filtering
phase), depending on different data (reg exp in headers, value of
different variables…), so I decided to add variable in my module, and
then set value in nginx config with “set” operation in rewrite module.
I am adding variable via ngx_http_add_variable() in pre-config, set
set_handler, and when I am doing "set $my_variable “0” " in nginx
config, I get “duplicate variable my_variable” on nginx start up.
What I am doing wrong?

Most likely you forgot to use NGX_HTTP_VAR_CHANGEABLE flag in
ngx_http_add_variable() call.

May be I need to set variable by set, and In my
module get index, and then get value of variable?

This may be a better approach. Or just accept a variable (or a complex
value) in your module configuration directive.

Maxim D.

Thanks for the answer, yes, I forgot NGX_HTTP_VAR_CHANGEABLE flag.

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,217375,217453#msg-217453

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs