通过 lua nginx 捕获 headers

capture headers via lua nginx

我只想捕获一些包含单词“foo”的 headers。我用它 lua nginx module 我的代码

    location /lua_test {

        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');
        }

    }

但不幸的是它不起作用。 抱歉,我是 Lua 和 nginx 的新手。感谢您的帮助

可能需要查看以下值:

        local h = ngx.req.get_headers()
        for k, v in pairs(h) do
            if v:find("foo") then -- equivalent v:match("foo") 
                ngx.header[k] = v
            end
        end

或者您有自己的密钥:if k:find("foo") then