关于nginx日志增加cookie信息
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,一、获取全部cookie信息这个比较方便,直接在nginx.conf文件中添加$http_cookielog_format main '[$time_local] - $remote_addr:
千家信息网最后更新 2026年11月03日关于nginx日志增加cookie信息 以上所述是小编给大家介绍的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; }我这边是实现了,但是命名不一样,大家自己尝试吧。
PS:nginx日志中添加cookie信息
1.在要添加的server中添加获取cookie的信息
server { listen 80; server_name jxjymember.cdeledu.com; set $JXJYMEMBERCookie ""; #此处如果想取全部cookie 可以写成 #if ( $http_cookie ~* "(.*)$" ){ if ( $http_cookie ~* "JXJYMEMBERCookie=([A-Za-z0-9_]*)" ){ set $JXJYMEMBERCookie $1; } access_log logs/jxjymember.cdeledu.com_access.log main; error_log logs/error_jxjymember.cdeledu.com.log; location / { # proxy_pass http://cdel_jxjy_member; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 512k; proxy_connect_timeout 300; proxy_send_timeout 300; proxy_read_timeout 300; proxy_buffer_size 64k; proxy_buffers 32 64k; proxy_busy_buffers_size 128k; proxy_temp_file_write_size 64k; } }主要添加的地方都标红了,说明下:第一处的意思是:定义一个JXJYMEMBERCookie变量,变量的内容从http的cookie去取,取的规则是匹配后面的正则JXJYMEMBERCookie=([A-Za-z0-9_]*),其实http_cookie这个里面的值是一个一个cookie的值,中间以";"分隔。
2.在log_format main中添加上要添加的变量名。
log_format main '$proxy_add_x_forwarded_for - $remote_user [$time_local] ' '"$request" $status $bytes_sent ' '"$http_referer" "$http_user_agent" $JXJYMEMBERCookie ';
3.效果
取一个的
取全部的
总结
信息
变量
日志
重要
内容
文件
两个
动作
单个
地方
多个
意思
效果
是在
有时候
格式
正则
疑问
网站
要是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
新华互联网科技
互联网科技工作委员会副主任毛军
互联网 科技
互联网 科技公司
互联网科技排名
奇酷互联网络科技公司
唐信互联网科技 大连
碳银互联网科技有限公司
深圳艾佳互联网科技
华脉科技工业互联网产品
汉立互联网科技有限公司联系电话
天速互联网络科技有限公司
互联网科技寓意
阿大互联网科技有限公司
互联网科技大赛获奖感言
世界互联网领先科技成果获奖
图游互联网科技
重庆科技产业互联网有哪些
科技美学互联网 艺术
互联网科技企业文化
猪兼强互联网科技
中国最先进互联网科技公司
互联网科技中介
全球顶尖互联网科技公司
南平创想时代互联网科技有限公司
畅思互联网科技
宇信科技在杭州互联网排第几
互联网科技职业技能培训学校
求路客互联网科技电话
平安好医生打造互联网科技医疗