2016-04-12 2 views
1

Мне нужно, чтобы nginx возвращал код 200 в каком-либо месте, только если rewrite_by_lua_block ответ содержит пользовательский заголовок с рисунком (для google compute engine balancer healthcheck).nginx return 200 if rewrite_by_lua_block ответ заголовок содержит шаблон

Я очень новичок в lua, поэтому любая помощь очень ценится.

ответ

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.

Смежные вопросы