location @proxy {
rewrite_by_lua_block {
require "dynamic".add_route_header()
}
proxy_pass http://$next_address;
error_page 500 502 503 504 = @next;
header_filter_by_lua_block {
require "dynamic".set_nok_addr()
}
}
location @next {
rewrite_by_lua_block {
require "dynamic".next_proxy_addr()
}
}
我的业务场景是这样,当proxy_pass失败时,跳转到@next重新赋值变量$next_address然后重新@proxy。当proxy_pass成功时,在header_filter_by_lua_block中执行另外的业务逻辑。但是这样配置error_page貌似不会工作,不管proxy_pass成功或是失败都会直接执行header_filter_by_lua_block,请问有办法解决吗?