1.我想要的
我正在使用openresty stream
,我想在nginx.conf
中设置一个变量,lua
文件可以访问这个变量。
1.我试过什么
我试过lua_add_variable
,但似乎lua_add_variable
不能设置初始值。
我也试过set $var value
,但我得到了错误:"set" directive is not allowed here
,我认为set
不能用于stream
1.我的代码
nginx.conf
stream {
# lua_add_variable $servers_list "client1;client2";
# set $servers_list "client1;client2"; # set not allowed here
upstream backend {
server 127.0.0.1:666;
}
server {
lua_code_cache off;
listen 65;
preread_by_lua_file lua/echo.lua;
content_by_lua_block {
ngx.say("nerver reach here")
}
}
}
echo.lua
ngx.log(ngx.ERR, "list is ", ngx.var.servers_list) -- I want to get "client1;client2" here
1条答案
按热度按时间e4yzc0pl1#
set
指令可用于流子系统-https://nginx.org/en/docs/stream/ngx_stream_set_module.html#set-但仅在server
上下文块中:上下文:
server
要修复以下错误:
此处不允许使用“set”指令
将指令移动到
server
上下文块: