当前位置: 首页 > news >正文

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

http://www.mrgr.cn/news/53426.html

相关文章:

  • 重读《人月神话》(8)-为什么巴比伦塔会失败?(Why Did the Tower of Babel Fail?)
  • 【Linux】进程详解:进程的创建终止等待替换
  • 接口测试(二)jmeter——实现http请求、察看结果树、请求默认值
  • Shell脚本:模块引用
  • 分治算法的基本知识记录
  • 机器学习:opencv--风格迁移
  • 内网横向渗透技术详解(自学)
  • 阿里字节技术管理岗位面试要求
  • Ansible自动化工具
  • SSM框架学习(七、MyBatis-Plus高级用法:最优化持久层开发)
  • [Java基础] 输入输出流
  • 二叉搜索树介绍与实现
  • 学习笔记——Test.pwn
  • 众数信科荣登“2024 CHINA AIGC 100”榜单
  • 设定义结构变量
  • C++中list的使用及模拟实现
  • 软件安全开发生命周期(Software Security Development Lifecycle, SSDLC)模型
  • 外贸CRM系统功能解析_如何挑选最适合的软件
  • DEV C++自动补全文件头的设置操作
  • LC1523.在区间范围内统计奇数数目