nginx日志打印请求头信息示例详解

问题:

发现nginx转发的时候,似乎把在请求头中自定义的字段弄丢了~~,所以想尝试打印出请求头找出具体原因

一、打印nigx请求头

只需要简单改造下nginx.conf中的配置即可

http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_user_id" "$http_accept_language" ';

    access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;
    underscores_in_headers on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    server_names_hash_bucket_size 512;
    client_max_body_size 500m;
    client_header_buffer_size 32k;
    large_client_header_buffers 4 32k;
}

其中改动的位置为

log_format ,打印请求头中的自定义参数为user_id,所以要在配置中添加 “$http_user_id” 没错,带有 $http_ 前缀

access_log logs/access.log main; 使它打印在日志中,查看日志即可

二、但是我的不生效

经过不断尝试,发现一个问题,我的自定义key为 user_id ,但是默认情况下,nginx是不支持下划线字段的!

也就是说如果是 user-id 那么就没问题

我现在需要的字段就是user_id

在nginx.conf中做加入如下配置:

underscores_in_headers on;

依然是http模块,上面其实已经有了

总结

  • 打印请求头中的变量,需要加前缀 $http_
  • 想要nginx转发或者打印带有下划线的变量的时候,需要开启下划线的支持 underscores_in_headers on;

到此这篇关于nginx日志打印请求头信息的文章就介绍到这了,更多相关nginx日志打印请求头信息内容请搜索恩蓝小号以前的文章或继续浏览下面的相关文章希望大家以后多多支持恩蓝小号!

原创文章,作者:QOGWH,如若转载,请注明出处:http://www.wangzhanshi.com/n/1350.html

(0)
QOGWH的头像QOGWH
上一篇 2024年12月17日 18:00:19
下一篇 2024年12月17日 18:00:21

相关推荐

  • Nginx配置超时时间的排查步骤

    如果在 Nginx 中设置了 keepalive_timeout、client_header_timeout 和 client_body_timeout 后仍然不起作用,可以尝试以…

    nginx 2024年12月17日
  • 解决Nginx转发图片不能显示的问题

    背景:最近很多小伙伴使用Nginx代理iServer,将HTTP协议成HTTPS协议,但是可能会出现以下几种情况:(1) 图片、js、css等静态资源无法加载 (2)代理后页面跳转…

    2024年12月17日
  • Nginx中轮询机制的实现

    Nginx 是一个高性能的 Web 服务器和反向代理服务器,在大规模并发场景下表现尤为突出。在使用 Nginx 进行反向代理时,负载均衡是一个关键功能,而轮询机制(Round Ro…

    nginx 2024年12月17日
  • Nginx IP限制与路径访问控制配置

    1. 简介 在某些应用场景下,特定路径需要免登录访问,但为了安全考虑,限制只有指定的 IP 地址才能访问该路径。本文档描述了如何在 Nginx 中配置 IP 限制,并在未授权访问时…

    nginx 2024年12月17日
  • Nginx服务器配置https安全协议的实现

    一、简介 HTTP是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效…

    2024年12月17日
  • Nginx的流式响应配置教程

    Nginx的流式响应配置 Nginx的流式响应(streaming response)是指在Nginx作为反向代理服务器时,将响应内容一边接收,一边逐步发送给客户端的过程。 这种响…

    nginx 2024年12月17日
  • nginx日志切割定时任务的实现

    nginx进行日志切割的好处: 便于管理和查询:随着时间的推移,Nginx 日志文件可能会变得非常大。将其切割成较小的、按时间段划分的文件,使得在需要查找特定时间段的日志时更加方便…

    2024年12月17日
  • 使用nginx实现一个端口和ip访问多个vue前端的全过程

    前言:由于安全组要求,前端页面只开放一个端口,但是项目有多个前端,此前一直使用的是一个前端使用单独一个端口进行访问,现在需要调整。 需要实现:这里以80端口为例,两个前端分别是:p…

    2024年12月17日
  • nginx指定conf文件路径的方法详解

    在使用 Nginx 时,有时需要指定配置文件(nginx.conf)的路径,而不是使用默认的路径。你可以通过以下几种方式来指定配置文件路径: 1. 使用 -c 或 –c…

    nginx 2024年12月17日
  • Nginx中实现请求的缓存数据过期通知

    在 Web 开发的领域中,Nginx 作为高性能的反向代理服务器,缓存机制是其优化性能的重要手段之一。然而,当缓存数据过期时,如何及时有效地通知相关模块或应用,这可是个技术活。 首…

    nginx 2024年12月17日

发表回复

登录后才能评论