是否有可能在nginx访问日志中logging响应数据?

我正在尝试打印用于开发/debugging目的的响应数据。 我找不到类似的问题或任何信息。 如果你这样做,请添加评论。

使用body_filter_by_lua将请求主体分配给一个nginxvariables,这里是一个例子:

 worker_processes 1; error_log logs/error.log; events { worker_connections 1024; } http { log_format log_req_resp '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent" $request_time req_body:"$request_body" resp_body:"$resp_body"'; server { listen 8082; access_log logs/access.log log_req_resp; lua_need_request_body on; set $resp_body ""; body_filter_by_lua ' local resp_body = string.sub(ngx.arg[1], 1, 1000) ngx.ctx.buffered = (ngx.ctx.buffered or "") .. resp_body if ngx.arg[2] then ngx.var.resp_body = ngx.ctx.buffered end '; location / { echo "Hello World!"; } } } 

使用ngx_lua模块

喜欢这个

 body_filter_by_lua 'ngx.log(ngx.CRIT,ngx.arg[1])'; 

在正确的location

我发现这个例子 ,我认为回声模块也可以做到这一点。