我正在尝试打印用于开发/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
我发现这个例子 ,我认为回声模块也可以做到这一点。