阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Nginx日志增加cookie信息

195次阅读
没有评论

共计 2867 个字符,预计需要花费 8 分钟才能阅读完成。

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 的文章您也可能喜欢,不妨参考下:

Nginx 403 forbidden 的解决办法  http://www.linuxidc.com/Linux/2017-08/146084.htm

CentOS 7 下 Nginx 服务器的安装配置  http://www.linuxidc.com/Linux/2017-04/142986.htm

CentOS 上安装 Nginx 服务器实现虚拟主机和域名重定向  http://www.linuxidc.com/Linux/2017-04/142642.htm

CentOS 6.8 安装 LNMP 环境(Linux+Nginx+MySQL+PHP)http://www.linuxidc.com/Linux/2017-04/142880.htm

Linux 下安装 PHP 环境并配置 Nginx 支持 php-fpm 模块  http://www.linuxidc.com/Linux/2017-05/144333.htm

Nginx 服务的 SSL 认证和 htpasswd 认证  http://www.linuxidc.com/Linux/2017-04/142478.htm

Ubuntu 16.04 上启用加密安全的 Nginx Web 服务器  http://www.linuxidc.com/Linux/2017-07/145522.htm

Linux 中安装配置 Nginx 及参数详解  http://www.linuxidc.com/Linux/2017-05/143853.htm

Nginx 日志过滤 使用 ngx_log_if 不记录特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm

CentOS 7.2 下 Nginx+PHP+MySQL+Memcache 缓存服务器安装配置  http://www.linuxidc.com/Linux/2017-03/142168.htm

CentOS6.9 编译安装 Nginx1.4.7  http://www.linuxidc.com/Linux/2017-06/144473.htm

Nginx 的详细介绍:请点这里
Nginx 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-11/148217.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2867字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中