nginx日志增加cookie信息
一、获取全部cookie信息
这个比较方便,直接在nginx.conf文件中添加$http_cookie
- log_format main
- '[$time_local] - $remote_addr:$remote_port - $remote_user - $upstream_addr $upstream_status $upstream_response_time - '
- '"$request" $status $bytes_sent $request_time '
- '"$http_referer" - "$http_user_agent" '
- '"$http_cookie"';
- # 增加一个 $http_cookie
第二步,在server 中的access.log 后加上 main
- access_log logs/item_access.log main;
- error_log logs/item_error.log ;
二、获取单个cookie的值
有时候要是是觉得某个cookie很重要,需要单独取出来,免得去一堆麻烦
首先,也是在nginx.conf文件中定义一个值,如 $my_cookie
- log_format main
- '[$time_local] - $remote_addr:$remote_port - $remote_user - $upstream_addr $upstream_status $upstream_response_time - '
- '"$request" $status $bytes_sent $request_time '
- '"$http_referer" - "$http_user_agent" '
- '"$my_cookie" "$http_cookie"';
- # 这边定义了 $my_cookie 和 $http_cookie其实都能取到
- # $my_cookie只能取到 value
其次还是要改server 中的内容,
- server {
- listen 80;
- server_name XXXX.****.com ;
- access_log logs/item_access.log main; # main 需要
- error_log logs/item_error.log ;
- set $my_cookie "";
- if ($http_cookie ~* "my_cookie=(.+?)(?=;|$)") {
- set $my_cookie $1;
- }
三、获取多个cookie的值
如果觉得不止一个cookie的值重要,比如有两个cookie需要取出来,如何呢?重复第二步的动作
- 在nginx.conf 日志格式中增加也该 $my_cookie2 的变量
- 再在server 段中增加一个 set $my_cookie2那部分
- log_format main
- '[$time_local] - $remote_addr:$remote_port - $remote_user - $upstream_addr $upstream_status $upstream_response_time - '
- '"$request" $status $bytes_sent $request_time '
- '"$http_referer" - "$http_user_agent" '
- '"$my_cookie" - "$my_cookie2" - "$http_cookie"';
- server {
- listen 80;
- server_name XXXX.***.com ;
- access_log logs/item_access.log main; # main 需要
- error_log logs/item_error.log ;
- set $my_cookie "";
- if ($http_cookie ~* "my_cookie=(.+?)(?=;|$)") {
- set $my_cookie $1;
- }
- set $my_cookie2 "";
- if ($http_cookie ~* "my_cookie2=(.+?)(?=;|$)") {
- set $my_cookie2 $1;
- }
我这边是实现了,但是命名不一样,大家自己尝试吧。
nginx日志增加cookie信息的更多相关文章
- nginx日志配置(cookie,header,post等字段记录)
如果你对nginx日志格式,有这样那样的要求. 那么就看一下说明吧. $remote_addr The remote host $remote_user The authenticated user ...
- 自定义Nginx日志格式获取IP地址的省市份信息
注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6806672112477012493/ 在linux中nginx日志产生的格式是下面的配置: $remote_add ...
- nginx 日志变量含义
log_format logstash "remote_addr | $time_local | $request | $status | $body_bytes_sent | " ...
- nginx日志分析利器GoAccess
面试的时候一定会被面到的问题是:给出web服务器的访问日志,请写一个脚本来统计访问前10的IP有哪些?访问前10的请求有哪些?当你领略过goaccess之后,你就明白,这些问题,除了考验你的脚本背诵记 ...
- 使用elk+redis搭建nginx日志分析平台
elk+redis 搭建nginx日志分析平台 logstash,elasticsearch,kibana 怎么进行nginx的日志分析呢?首先,架构方面,nginx是有日志文件的,它的每个请求的状态 ...
- Nginx日志导入到Hive0.13.1,同步Hbase0.96.2,设置RowKey为autoincrement(ID自增长)
---------------------------------------- 博文作者:迦壹 博客地址:Nginx日志导入到Hive,同步Hbase,设置RowKey为autoincrement( ...
- nginx(四)初识nginx日志文件
nginx 日志相关指令主要有两条,一条是log_format,用来设置日志格式,另外一条是access_log,用来指定日志文件的存放路径.格式和缓存大小,通俗的理解就是先用log_format来定 ...
- nginx日志配置[转]
* * * sh /home/zyf/sh/cut_nginx_log.sh 这样就每天的0点1分把nginx日志重命名为日期格式,并重新生成今天的新日志文件。 日志对于统计排错来说非常有利的。本文 ...
- Nginx 日志文件切割
Nginx 是一个非常轻量的 Web 服务器,体积小.性能高.速度快等诸多优点.但不足的是也存在缺点,比如其产生的访问日志文件一直就是一个,不会自动地进行切割,如果访问量很大的话,将 导致日志文件容量 ...
随机推荐
- access数据库频繁读取操作会出现 System.Data.OleDb.OleDbException 的异常解决
asp.net access数据库 本来想着打开一个access数据库连接后,不关闭,下次操作数据了,直接拿来用,谁知道连着测试64次后(大概这么多次),就会出现System.Data.OleDb.O ...
- Amazon及其亏本诱饵策略还能坚持多久?
Amazon 刚刚公布了最新的财报,亏损 4100 万美元.这是这家电子商务巨头连续 5 个季度以来的第 3 次亏损.但是华尔街似乎却一片叫好声,当日 Amazon 的股价也涨了近 8 个点达 359 ...
- mariadb BINLOG_FORMAT = STATEMENT 异常
当在mariadb中插入数据是报 InnoDB is limited to row-logging 异常: java.sql.SQLException: Cannot execute statemen ...
- "群英队"电梯演讲
视频如下: https://imgcache.qq.com/tencentvideo_v1/playerv3/TPout.swf?max_age=86400&v=20161117&vi ...
- PHP 函数总结
感觉对函数了解的不够深,从头到尾梳理一遍(更新中....) 1,class_exists(),interface_exists(),method_exists(),get_class(),get_pa ...
- HDU 1277 Nested Dolls
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1677 题意: 玩俄罗斯套娃,问最后至少还剩几个. 题解: 这题可以和拦截导弹做对比,因为这里是二维的 ...
- Java GUI 点击按钮退出
import java.awt.*; import java.awt.event.*; public class TestFrameTwo implements ActionListener { Fr ...
- Microsoft Orleans 之安装
先决条件 Orleans 是一个.net 类库集,为了使用它,你需要.net 4.5.1 或者更高版本,开发工具集需要visual studio 2015 或者更高版本或者其他支持的开发工具,不支持V ...
- mysql子查询批量找id最大的
$sql = "select a.id as max_id,a.uid from(SELECT `uid`, idFROM (`users_level_change_log`)WHERE ` ...
- linux下c/c++的文件操作
opendir,readdir,closedir, stat()查询文件状态 open(), O_TRUNC这个Flag会把打开的文件清零... 文件锁:fcntl, F_GETLK , F_SETL ...