ini nginx中的完整请求/响应正文日志记录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ini nginx中的完整请求/响应正文日志记录相关的知识,希望对你有一定的参考价值。

http {
  log_format bodylog '$remote_addr - $remote_user [$time_local] '
      '"$request" $status $body_bytes_sent '
      '"$http_referer" "$http_user_agent" $request_time '
      '<"$request_body" >"$resp_body"';

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

}
 
server {
  listen 1.2.3.4;
 
  location / {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_pass http://127.0.0.1:3000;
    access_log  /var/log/nginx/server.log bodylog;
  }
}

以上是关于ini nginx中的完整请求/响应正文日志记录的主要内容,如果未能解决你的问题,请参考以下文章

apache_conf nginx中的完整请求/响应正文日志记录

Nginx 日志格式

Spring RestTemplate - 如何启用请求/响应的完整调试/日志记录?

如何配置 spring-cloud-gateway 以使用 sleuth 记录请求/响应正文

Tomcat 7:RequestDumperFilter 未记录 HTTP 请求/响应正文

如何在 AWS ELB 日志中获取完整的 POST 正文?