1

rewrite_by_lua_block仅当响应包含带有模式的自定义标头(用于谷歌计算引擎平衡器健康检查)时,我才需要 nginx 在某个位置返回 200 代码。

我是lua的新手,所以非常感谢任何帮助。

4

1 回答 1

1

我建议尝试(未经测试)

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

于 2016-04-13T08:04:57.507 回答