关于nginx日志增加cookie信息
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,一、获取全部cookie信息这个比较方便,直接在nginx.conf文件中添加$http_cookielog_format main '[$time_local] - $remote_addr:
千家信息网最后更新 2025年12月02日关于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安全错误
数据库的锁怎样保障安全
深圳市云飞网络技术有限公司
西安软件开发有前途吗
光伏监控软件开发公司
党组 网络安全 教育
青海GIS软件开发
软件开发效果展示
郴州市计算机软件开发培训哪里好
哈利波特魔法觉醒在哪看服务器
小米路由web服务器
甘肃政法大学网络安全排名
windows 软件开发面试
深米网络技术
统一软件开发服务检测中心
济南市宇泉网络技术有限公司
互联网十五大科技趋势
删除数据库某个字段的数据
西安数据库培训课程
宁波弘讯软件开发有限公司
网络安全+答题游戏
lol清楚数据库
视频会议软件开发背景
2008数据库备份失败
小米路由web服务器
vb 判断服务器是否
物业公司网络安全管理办法
档案管理软件开发有限公司
网络安全教育的词语
服务器名字大全
23号光遇服务器异常补偿怎么发
中国网络安全检查通报