nginx return 200 如果 rewrite_by_lua_block 响应 header 包含模式
nginx return 200 if rewrite_by_lua_block response header contains pattern
仅当 rewrite_by_lua_block
响应包含带有模式的自定义 header(用于 google 计算引擎平衡器健康检查)时,我才需要 nginx 在某些位置 return 200 代码。
我是 lua 的新手,非常感谢您的帮助。
我建议尝试(未测试)
header_filter_by_lua_block {
if ngx.status == 200 then
local from, to, err = ngx.re.find( ngx.header.Foo, "your_regexp_here")
if not from then
ngx.status = 500 -- use the error code you need
end
end
}
请记住 - 您应该将 header_filter_by_lua_block
指令放在您的请求真正发送到上游的位置,比如您通过 rewrite_by_lua_block
.
重定向到的位置
仅当 rewrite_by_lua_block
响应包含带有模式的自定义 header(用于 google 计算引擎平衡器健康检查)时,我才需要 nginx 在某些位置 return 200 代码。
我是 lua 的新手,非常感谢您的帮助。
我建议尝试(未测试)
header_filter_by_lua_block {
if ngx.status == 200 then
local from, to, err = ngx.re.find( ngx.header.Foo, "your_regexp_here")
if not from then
ngx.status = 500 -- use the error code you need
end
end
}
请记住 - 您应该将 header_filter_by_lua_block
指令放在您的请求真正发送到上游的位置,比如您通过 rewrite_by_lua_block
.