欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 资讯 > openresty通过header_filter_by_lua记录特定的请求头和特定的响应头到日志文件

openresty通过header_filter_by_lua记录特定的请求头和特定的响应头到日志文件

2024/10/23 15:21:54 来源:https://blog.csdn.net/liaomingwu/article/details/142984565  浏览:    关键词:openresty通过header_filter_by_lua记录特定的请求头和特定的响应头到日志文件

有时我们希望记录特定的请求头信息和特定的响应头信息,以便能够通过关联请求信息和响应头信息,来实现记录请求和响应的对应关系。这里通过逐步尝试和优化的方式进行尝试。具体包括将需要的请求头和响应头组织到一条日志记录,输出到单独的错误日志文件记录等的配置尝试。

1. 配置转发和日志记录

首先配置记录所有的请求头和响应头信息,记录到error_log指定的文件中。

error_log  logs/error.log  info;log_format  main  '$remote_addr [$request_id] - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';location /ngtest {proxy_pass http://127.0.0.1:8060;header_filter_by_lua 'local reqheaders = ngx.req.get_headers()for key, val in pairs(reqheaders) dongx.log(ngx.INFO, "request:", key, " : ", val)end-- 获取所有响应头local headers = ngx.resp.get_headers()-- 打印所有响应头for key, val in pairs(headers) dongx.log(ngx.INFO, "response:", key, " : ", val)end';}

这里的配置是将请求到本地的  http://127.0.0.1:8060 地址,并且记录请求头和响应头到日志文件,日志级别为INFO。

 3. postman

通过postman发送http请求。 

2. 日志记录

2024/10/16 15:59:59 [info] 139655#139655: *530 [lua] header_filter_by_lua(nginx.conf:69):4: request:authorization : NTLM TlRMTVNTUAADAAAAGAAYAEAAAADCAMIAWAAAAAAAAAAAAAAAHAAcABoBAAAWABYANgEAAAAAAAAAAAAABYIIAJi+0X/kdkl/ONUQGF7iAm1ii5/nECrNEufop988HOhSTFsJVFvxdXYBAQAAAAAAAKAG+Vfn19oBYouf5xAqzRIAAAAAAgAGAE8AVABQAAEAHgBXAEkATgAtAEkAUgBEAFMAVgBKAE8AMwBVAFQAVAAEAA4AbwB0AHAALgBjAG8AbQADAC4AVwBJAE4ALQBJAFIARABTAFYASgBPADMAVQBUAFQALgBvAHQAcAAuAGMAbwBtAAUADgBvAHQAcAAuAGMAbwBtAAcACAD4****** while reading response header from upstream, client: 111.206.85.18, server: localhost, request: "GET /ngtest HTTP/1.1", upstr

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com