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

nginx监视来自上游服务器的响应

谷梁建中
2023-03-14

我有一个反向代理设置与nginx。

Client ------> Nginx ------------------------------------> Backend Server
       <------       <-----------------------------------
                      (I want to see the requests here)

如何将从后端服务器发送到nginx的http请求(包括头)记录到文件中?

也许nginx http代理模块中的某个指令可以帮助我做到这一点。

但我找不到任何有用的指示。

共有1个答案

岑畅
2023-03-14

注意:我在OP添加标记OpenResty之前给出了这个答案。我不是Openresty的专家,但我确信我给出了香草Nginx的正确细节。

在Nginx术语中,“后端服务器”被称为“上游”。文档中有一个单独的页面列出了与W/Upstreams相关的变量。其中,你大概会对

  • $upstream_addr-处理请求的后端服务器的IP地址
  • $upstream_connect_time$upstream_header_time$upstream_response_time-Nginx等待接受连接、等待来自上游的header的时间以及后端处理请求需要多长时间
  • $upstream_http_*name*将包含响应标头*name*。例如,$upstream_http_etag$upstream_http_last_modified.
  • 还有其他变量可以报告缓存状态、重试次数等。

将这些日志记录到Nginx日志文件中是非常常见的做法。您需要声明自己的日志格式,例如:

log_format my_upstream '$remote_addr [$time_local] "$request" $status'
  '"$upstream_addr" $upstream_response_time $upstream_http_etag';

然后在位置服务器中使用:

access_log /var/log/nginx/upstream.log my_upstream;
 类似资料:
  • 我需要一种在java中记录这个XML响应的方法。当我从我的java发送请求时,这是返回的。我需要一种打印出响应描述的方法。 下面是我的java代码:

  • 我在8000和8001端口上的本地linux机器上运行着金刚,在5000和5001端口上的docker容器中也运行着金刚。 我的应用程序正在tomcat服务器上的另一个容器上运行,端口8811(端口fwd从8811到8080) 我已经配置了以下API配置我的Kong容器, 和我的linux机器金刚以下API配置, 当我做curl访问我的示例API时,我看到以下来自我的Kong容器的错误响应, 如果

  • 注意 许多监视器特性只在Neo4j服务器高级版和企业版才可以使用。 为了能获取Neo4j数据库的健康状况,可以采用不同级别的监控等级。这些功能一般都是通过 JMX呈现出来。 25.1. 调整远程JMX访问Neo4j的服务器 默认情况下,Neo4j高级版和企业版都不允许远程的JMX连接,因为在 conf/neo4j-wrapper.conf配置文件中的相关配置是被注释掉了的。为了启用该功能, 你必须

  • 控制台中的结果如下: 我不明白为什么会发生这种情况。

  • 我想知道如何缓存来自Web服务器(返回json数据)的okHTTP响应? 你知道如果应用程序只需要在第一次运行时下载数据--然后只有在数据发生变化时才下载数据该怎么办吗?

  • 问题内容: 我想在Docker容器中运行的Nginx中添加/删除服务器 我在Dockerfile中使用ADD命令将我的nginx.conf添加到/ etc / nginx目录中。 然后在我正在运行的nginx容器中有一个像这样的conf 如何重新启动我的Nginx以使已编辑的Nginx.conf生效? 先感谢您! 问题答案: 要重新加载NGINX配置,请运行以下命令 docker kill -s