Так к сожалению так никто и не ответил и без LUA не обошлось, выкладываю свой вариант. Может быть кому-то пригодится.
content_by_lua_block {
local h = ngx.req.get_headers()
for k, v in pairs(h) do
if k == k:match("([%w].Foo.*)") then
ngx.header[k] = v
end
end
ngx.say('headers with Foo are captured');
}