仅当 rewrite_by_lua_block
响应包含带有模式的自定义 header (用于 Google 计算引擎平衡器健康检查)时,我才需要 nginx 在某个位置返回 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 包含模式,nginx 返回 200,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36578004/