Nginx本身可以通过$request_body变量记录请求内容,但响应内容需要通过Lua模块记录:

步骤:
1 在nginx主配置文件nginx.conf日志格式中增加 $resp_body变量;
2 新增/usr/local/nginx/conf/resp_body.conf文件

3 在server块中配置:
include /usr/local/nginx/conf/resp_body.conf;

总结: 此过程是在lua的body_filter_by_lua阶段

另外: lua处理有以下阶段:(7个)
1 set_by_lua 改写nginx变量,相当于set;
2 rewrite_by_lua 改写URI,可用于实现跳转/重定向;
3 access_by_lua 处理访问控制或限速;
4 content_by_lua 最常用的阶段,产生响应内容;
5 header_filter_by_lua 加工处理响应头,过滤数据;
6 body_filter_by_lua 加工处理响应体,可附加额外内容;
7 log_by_lua 记录日志,统计分析或其他收尾工作;

转载于:https://blog.51cto.com/wenxi123/2286682

nginx通过lua从日志中获得请求响应体相关推荐

  1. nginx日志中添加请求的response日志

    换个新公司,做一些新鲜的事情,经过一天的琢磨,终于成功添加response日志 在nginx的日志中添加接口response的日志 由于此功能在nginx内置的功能中没有,需要安装第三方模块ngx_l ...

  2. Spring Boot 2.1之后如何在启动日志中打印请求路径列表

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 翟永超 来源 | http://blog.di ...

  3. Spring Boot 2.x基础教程:找回启动日志中的请求路径列表

    如果您看过之前的Spring Boot 1.x教程,或者自己原本就对Spring Boot有一些经验,或者对Spring MVC很熟悉.那么对于Spring构建的Web应用在启动的时候,都会输出当前应 ...

  4. java dispo lock_java - 在Java中同步请求响应 - SO中文参考 - www.soinside.com

    有两种方法可以做到这一点.首先,我将解释反应性和webflux的好方法.@GetMapping(value = "/anothertest") public Mono rest() ...

  5. Nginx 与 Lua

    为什么80%的码农都做不了架构师?>>>    这几个月里,我们逐步把Lua集成到Mixlr的前端Nginx配置中. Lua是一个可以嵌入到Nginx配置文件中的动态脚本语言,从而可 ...

  6. [译]Nginx和Lua

    这几个月里,我们逐步把Lua集成到Mixlr的前端Nginx配置中. Lua是一个可以嵌入到Nginx配置文件中的动态脚本语言,从而可以在Nginx请求处理的任何阶段执行各种Lua代码.刚开始我们只是 ...

  7. Nginx利用lua剪辑FastDFS图片

    Nginx利用lua剪辑FastDFS中的图片 我们经常用FastDFS来做图片服务器,通过nginx来上传或者获取图片.本文要实现的功能是,当客户端要获取不同尺寸的图片是,lua根据url中的尺寸大 ...

  8. SpringBoot使用Logbook记录HTTP请求响应日志

    写在前面:2020年面试必备的Java后端进阶面试题总结了一份复习指南在Github上,内容详细,图文并茂,有需要学习的朋友可以Star一下! GitHub地址:https://github.com/ ...

  9. java logbook_SpringBoot使用Logbook记录HTTP请求响应日志

    Spring Boot的httptrace端口能够记录每次访问的请求和响应信息,但是不能记录body,这样在出问题时就不方便排查,而且httptrace不方便在原有的基础上进行扩展,所以只能寻求其他方 ...

最新文章

  1. 活动目录在构建核心过程中的八个关键点(下)
  2. 什么是结构风险?在决策树类相关算法中通常有哪些正则化参数来控制模型的结构风险?解读一下
  3. Spring MVC ajax:post/get 的具体实现
  4. 【MySql】8.多对多关系表
  5. 怎样在计算机页面加密,怎么给文件加密并加密后隐藏起来?
  6. 联系人排序java代码_Android仿微信联系人按字母排序_脚本之家
  7. Minio分布式集群部署注意事项
  8. 音视频技术开发周刊:FFmpeg内置的一个无中生有的音视频输入数据 | 214
  9. 在Android命令行启动程序的方法
  10. rest_framework03:查询所有/新增数据/删除一个数据/封装Response/序列化与反序列化
  11. python 示例_Python日历类| yeardatescalendar()方法与示例
  12. swiper图片轮播(左中右) (含源码)- 案例篇
  13. messagebox java_如何从messagebox获得答案
  14. java20 创建服务器:ServerSocket
  15. NVIDIA解码器代码官方示例
  16. Everyone Piano键盘钢琴软件
  17. jrebel离线激活_jrebel激活
  18. 怎么用dw修改PHP网页模板,DW基础篇:如何使用DW运用网页模板
  19. javascript弹窗和基本数据类型
  20. win10自带看图工具找不到了咋办

热门文章

  1. c 中连接mysql登录不成功_数据库连接失败的原因分析及解决办法 | 学步园
  2. 根据日期累计求和_excel条件求和技巧:应用SUMIF函数计算客户余款
  3. 未来计算机打蜡机,电脑洗车机的未来发展方向:多样化or精简化?
  4. lstm 输入数据维度_LSTM 股票市场预测入门
  5. javaweb上传文件_javaWeb中,如何通过CommonsFileUpload组件上传文件
  6. poj3311 经典tsp问题
  7. phpstorm-有关设置
  8. 【ADO.NET基础知识】SqlConnection、command、DataSet 、DataTable、dataAdapter
  9. springMVC-配置Bean
  10. 使用Opencv进行轮廓检测,字符提取,简单的直方图字符识别!