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

 更新时间:2024年11月11日 10:00:10   作者:寂寞旅行  
这篇文章主要介绍了nginx日志打印请求头信息的相关资料,文章介绍了如何在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日志打印请求头信息内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • nginx代理服务器配置双向证书验证的方法

    nginx代理服务器配置双向证书验证的方法

    今天小编就为大家分享一篇关于nginx代理服务器配置双向证书验证的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • 一些优化Nginx服务器的技巧简介

    一些优化Nginx服务器的技巧简介

    这篇文章主要介绍了一些优化Nginx服务器的技巧简介,包括对HTTP模块和Events模块的配置建议,需要的朋友可以参考下
    2015-06-06
  • nginx的语法(基本语法和组成部分)

    nginx的语法(基本语法和组成部分)

    Nginx是一个高效、稳定的开源Web服务器和反向代理服务器,也可以用作邮件代理服务器、负载均衡器和HTTP缓存,很多人都选择nginx作为web服务器使用,下面是Nginx配置文件的一些基本语法和组成部分,使用Nginx的朋友可以了解一下
    2023-05-05
  • 详解nginx安装过程并代理下载服务器文件

    详解nginx安装过程并代理下载服务器文件

    Nginx是一款轻量级的web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行,这篇文章主要介绍了详解nginx安装过程并代理下载服务器文件,需要的朋友可以参考下
    2022-02-02
  • nginx的FastDFS分布式存储模块测试方法

    nginx的FastDFS分布式存储模块测试方法

    很长时间没有关注FastDFS了,第一次使用FastDFS 是在 08年的时候11月的时候,那个时候是为了解决公司的数据存储~那时候可能是对Fastdfs了解不深,功能还不算太健全,最后选择了lustre。
    2010-12-12
  • CentOS6使用nginx搭建web网站服务的方法

    CentOS6使用nginx搭建web网站服务的方法

    这篇文章主要介绍了CentOS6使用nginx搭建web网站服务的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • nginx用正则表达式实现泛域名自动匹配目录的方法

    nginx用正则表达式实现泛域名自动匹配目录的方法

    这篇文章主要介绍了nginx用正则表达式实现泛域名自动匹配目录的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • Nginx禁止部分UserAgent访问的问题解决

    Nginx禁止部分UserAgent访问的问题解决

    本文主要介绍了使用Nginx禁止特定UserAgent访问域名,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-02-02
  • Centos 6.5 64位中Nginx详细安装部署教程

    Centos 6.5 64位中Nginx详细安装部署教程

    Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,具体简介我就不介绍了百度一下有很多,下面直接进入安装步骤,需要的朋友可以参考下
    2017-08-08
  • 前端必备的一些nginx知识点汇总

    前端必备的一些nginx知识点汇总

    Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,下面这篇文章主要给大家汇总介绍了关于前端必备的一些nginx知识点,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-03-03

最新评论