[nginx]日志中记录自定义请求头
前言
假设在请求中自定义了一个请求头,key为"version",参数值为“1.2.3”,需要在日志中捕获这个请求头。
nginx日志配置
只需要用变量http_version就能捕获到自定义的version请求头。示例:
log_format main '{"@timestamp": "$time_iso8601", '
'"connection": "$connection", '
'"version": "$http_version", '
'"remote_addr": "$remote_addr", '
'"remote_user": "$remote_user", '
'"request_method": "$request_method", '
'"request_uri": "$request_uri", '
'"request_length": "$request_length", '
'"server_protocol": "$server_protocol", '
'"status": "$status", '
'"body_bytes_sent": "$body_bytes_sent", '
'"http_referer": "$http_referer", '
'"http_user_agent": "$http_user_agent", '
'"http_x_forwarded_for": "$http_x_forwarded_for", '
'"upstream_addr": "$upstream_addr", '
'"request_time": "$request_time"}';
测试
- 使用curl请求,指定请求头
curl -I -s http://127.0.0.1 -H 'version:123456' -o /dev/null
- 观察nginx请求日志是否记录到version值
{"@timestamp": "2023-04-12T15:14:13+00:00", "connection": "12", "version": "123456", "remote_addr": "172.1.7.1", "remote_user": "-", "request_method": "HEAD", "request_uri": "/", "request_length": "90", "server_protocol": "HTTP/1.1", "status": "200", "body_bytes_sent": "0", "http_referer": "-", "http_user_agent": "curl/7.74.0", "http_x_forwarded_for": "-", "upstream_addr": "-", "request_time": "0.000"}
[nginx]日志中记录自定义请求头的更多相关文章
- nginx log_format指令记录自定义响应头
我们用的nginx有做过一些定制开发,为了调试方便,加了一些自定义的response header,那么如何把这个自定义头记录到日志中以便于观察呢? nginx log_format指令支持这种扩展, ...
- Nginx 日志中记录cookie
在http节点下添加 log_format mai2 '$remote_addr - $remote_user [$time_local] "$request" ' '$statu ...
- Grafana和influxdb监控nginx日志中的请求响应时间图形化监控
监控效果如图: 监控方法: 通过logstash过滤nginx日志,然后解析出nginx日志中的request time字段 然后output到influxdb时序数据库中 通过grafana展示数据 ...
- Nginx日志中的金矿 -- 好文收藏
转:http://www.infoq.com/cn/articles/nignx-log-goldmine Nginx(读作Engine-X)是现在最流行的负载均衡和反向代理服务器之一.如果你是一名中 ...
- 使用 Spring RestTemplate 调用 rest 服务时自定义请求头(custom HTTP headers)
在 Spring 3.0 中可以通过 HttpEntity 对象自定义请求头信息,如: private static final String APPLICATION_PDF = "app ...
- Python3 自定义请求头消息headers
Python3 自定义请求头消息headers 使用python爬虫爬取数据的时候,经常会遇到一些网站的反爬虫措施,一般就是针对于headers中的User-Agent,如果没有对headers进行设 ...
- ASP.NET Core - 实现Http自定义请求头策略
前言 在正常的情况下,当我们系统用到JWT认证方式时,需要在Http请求头添加Authorization: XXX,这样在后台服务的控制器中打上[Authorize]授权标签,就限定所有的请求必须通过 ...
- nginx日志中访问最多的100个ip及访问次数
nginx日志中访问最多的100个ip及访问次数 awk '{print $1}' /opt/software/nginx/logs/access.log| sort | uniq -c | sort ...
- 提取日志中的json请求发送到另外一台机器
将日志中的json请求提取,并且发送到另外一个机器上: for i in ` cat impression.log.2016-04-08-10 |awk -F"\t" ' {pri ...
- Ajax设置自定义请求头的两种方法
用自定义请求头token为例 方法一 $.ajax({ type: "post", url:"http://127.0.0.1:4564/bsky-app/templat ...
随机推荐
- OFFICE-利用Word邮件合并功能联动编辑《目标责任成本调整说明》
正文 00.开始以及目标 0.1 开始 众所周知的原因,X建工的很多文档都提供了一个填写模板,这是个好事.但是捏,当他们把模板放下来要来填数的时候,你会发现所有的数据,都是在不同的文档中搬来搬去,这点 ...
- 2021-01-10:linux中,我要看某一个进程的并发,通过什么命令去查?
福哥答案2021-01-10:[答案来自此链接:](https://blog.csdn.net/sinat_31275315/article/details/108239492)方法一:PS在ps命令 ...
- only仅显示一些字段
only仅显示一些字段 仅显示nickname,age两列的数据 Student.objects.all().only('nickname','age')
- SICP:惰性求值、流和尾递归(Python实现)
求值器完整实现代码我已经上传到了GitHub仓库:TinySCM,感兴趣的童鞋可以前往查看.这里顺便强烈推荐UC Berkeley的同名课程CS 61A. 即使在变化中,它也丝毫未变. --赫拉克利特 ...
- flutter填坑之旅(有状态组件StatefulWidget)
今天我们来看看flutter的StatefulWidget(有状态组件),最常用就是app 主页的底部导航栏的应用 效果图 首页 关于 我的 statefull-widget-learn .dart ...
- nas盒子内网穿透
2023年5月27日星期六 -------------------------------------------------------------------------------------- ...
- 新版idea快捷键总结学习----(用于java开发模式)
选择代码区 ctrl w 如果放到以if开头的语句,可以选择if判断条件所在的代码片段 游标在单个单词下时 选择单词 在选中多个单词时,选择整个字符串 三次点击时,如果不在字符串单词下,用于选择{}内 ...
- Java Websocket 01: 原生模式 Websocket 基础通信
目录 Java Websocket 01: 原生模式 Websocket 基础通信 Java Websocket 02: 原生模式通过 Websocket 传输文件 Websocket 原生模式 原生 ...
- AI隐私保护中的常见隐私隐私问题与解决方案
目录 题目:<AI隐私保护中的常见隐私问题与解决方案> 引言 随着人工智能技术的快速发展,AI隐私保护也成为了一个备受关注的问题.由于AI技术的应用范围越来越广泛,例如语音识别.图像识别. ...
- 精选8道ES高频面试题和答案,后悔没早点看。
不要再干巴巴的背诵八股文了,一定要结合具体场景回答面试问题! 前言 我们在回答面试题的时候,不能干巴巴的去背八股文,一定要结合应用场景,最好能结合过去做过的项目,去和面试官沟通. 这些场景题虽然不要求 ...