Nginx lua模块无法将原始请求体放入内部auth_request

我正在尝试将请求体作为身份验证子请求的标头设置。

我已经尝试使用lua_need_request_body。


location = /check_internal_auth{
    internal;
    proxy_pass http://internal_auth_host/test_save_headers;
    proxy_pass_request_body off;
    proxy_set_header Content-Length "";
    proxy_set_header X-Original-URI $request_uri;
    proxy_set_header X-Original-Body $original_body;
}

location /testlocation/ {
    set_by_lua_block $original_body {
        return ngx.req.get_body_data()
    }

    auth_request /check_internal_auth;
    proxy_pass http://internal_host:3000/;
}

似乎只有在我执行子请求后,$original_body才会被填充。进行了几次测试,并能够输出它。

有什么想法吗?

点赞