运行 if 之前的 access_by_lua
Run an access_by_lua before an if
我正在尝试从 api 中获取一些文本,如果它等于某个值,则代理传递。经过一些测试,我发现 access_by_lua 是在 if 语句之后执行的。
这是我当前的代码:
set $protectione 'disabled';
access_by_lua_block {
local http = require "resty.http"
local httpc = http.new()
local res, err = httpc:request_uri("http://127.0.0.1/ddos/fw.json", { method = "GET" })
ngx.var.protectione = res.body
}
if ( $protectione = 'disabled' ) {
proxy_pass http://backend;
set $allowreq 1;
}
我的问题有替代方案吗?
我正在尝试从 api 中获取一些文本,如果它等于某个值,则代理传递。经过一些测试,我发现 access_by_lua 是在 if 语句之后执行的。
这是我当前的代码:
set $protectione 'disabled';
access_by_lua_block {
local http = require "resty.http"
local httpc = http.new()
local res, err = httpc:request_uri("http://127.0.0.1/ddos/fw.json", { method = "GET" })
ngx.var.protectione = res.body
}
if ( $protectione = 'disabled' ) {
proxy_pass http://backend;
set $allowreq 1;
}
我的问题有替代方案吗?