当前位置: 首页 > 知识库问答 >
问题:

后端 - nginx如何在日志里记录post请求的参数和reponse返回的结果数据?

刘翔宇
2023-05-02

在window服务器下了一个版本1.24的nginx,跑前端项目。接口请求配置的是代理

location /prod-api/ {
    proxy_pass   https://api.xx.com/;
}

现在我想日志里输出记录每次post请求的参数和返回的结果数据,该如何去做?

共有1个答案

聂鹏云
2023-05-02

nginx不会将post请求的内容记录到日志的,连debug模式都不行,我在很多年前也有这个需求,专门研究过的,最终得到的是官方的回答是为了安全性考虑,nginx不会记录post body,你只能通过别的手段获取到,比如使用一个php程序: https://stackoverflow.com/questions/4939382/logging-post-data-from-request-body

再比如你引入了lua脚本支持(比如kong)可以使用lua脚本实现: https://gist.github.com/morhekil/1ff0e902ed4de2adcb7a

 类似资料:
  • 使用log4j,我曾经有一个appender,它直接记录到数据库中的一个表。追加人如下: 这三个表是logging_event、logging_event_property和logging_event_exception。它们必须存在才能使用DBAppender。 根据我的理解,这意味着我绑定到这3个表以记录到数据库。 在internet上搜索解决方案时,涉及扩展类的结果很少,这在现阶段对我来说不

  • 这使得日志难以读取、冗长和不必要的复杂(在大多数情况下,其他参数都不存在)。 我想处理所有的案件,只保留必要的数据。例子: 我可以手工编码: 它应该支持可选参数,用给定的字符串替换boolean/condition,支持用和分隔空格、逗号和单词。 也许有这样的图书馆吗?或者也许至少有一种更简单的编码方式? 如果不是这样,我就没有其他办法为日志记录中的消息编写自己的库了。此外,这种库将提供所有日志的

  • 问题内容: 使用,如何记录参数并抛出异常? 我找不到任何方法。 我应该使用? 问题答案: 有没有办法把两者以中。 我会转换为并使用: 您还可以创建log指向的自己的方法,例如:

  • 我试图通过aop在控制器中记录超文本传输协议请求。但是,在方面代码中,如果我 那么请求数据将无法在主流中检索。 所以,我创建了另一个公共方法,在控制器中传递请求字符串 这种方法是记录“数据”的切入点。 但问题是,这种方法的切入点似乎无法通过Spring识别,这种方法没有日志记录。我需要帮助。 下面是aop的定义

  • 我想在localStorage中保存我来自服务器的令牌(服务器是用java制作的),但是下面的代码不起作用,所以我也想打印,看看我从服务器得到了什么数据。 我试图用和打印到控制台,但不起作用。 post请求在服务器上工作,但当我想打印时它会被卡住。我所说的卡住是指当我按下登录按钮时,什么也没有发生。 如何打印到控制台?

  • 我需要刷新令牌,但HttpErrorResponse不会返回请求的结果。 收到http://127.0.0.1:8000/api/pdv返回响应:{“令牌错误”:“令牌已过期”} 但是,当我的令牌过期时,我会收到(跨源请求被阻止)。就这个案子。 这是我的配置 配置/cors我用的是barryvdh/laravel-cors 中间件组 我试图得到回应(console.log(error.error)