关于nginx日志增加cookie信息

操作系统:Ubuntu 18.04,nginx 1.14.0

1. 修改nginx.conf配置文件

首先,需要打开nginx配置文件nginx.conf,找到http {}段,确保以下配置开启:

http {
    ......
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    ......
}

以上配置中log_format定义了日志的格式,access_log定义了日志的存储路径和日志格式。

2. 增加cookie信息

要将cookie信息添加到日志中,必须使用nginx的HttpSetMiscModule扩展模块。

2.1 下载HttpSetMiscModule

在终端中执行以下命令下载HttpSetMiscModule

cd /tmp
wget https://github.com/openresty/set-misc-nginx-module/archive/v0.32.tar.gz
tar -xzvf v0.32.tar.gz

2.2 安装HttpSetMiscModule

执行以下命令,编译安装HttpSetMiscModule模块:

cd /path/to/nginx/source
./configure --add-module=/tmp/set-misc-nginx-module-0.32
make && make install

2.3 修改nginx.conf

nginx.conf中添加以下配置:

http {
    ......
    set $real_cookie $http_cookie;

    log_format withcookie '$remote_addr - $remote_user [$time_local] '
                           '"$request" $status $body_bytes_sent '
                           '"$http_referer" "$http_user_agent" '
                           '"$http_x_forwarded_for" "$real_cookie"';

    access_log /var/log/nginx/access.log withcookie;
    ......
}

以上配置中,set $real_cookie $http_cookie;将请求中的cookie信息存储在变量$real_cookie中。

withcookie是自定义的日志格式,其中"$real_cookie"即为上面提到的存储cookie信息的变量。

access_log /var/log/nginx/access.log withcookie;即指定日志格式为withcookie

3. 启动nginx

修改完nginx.conf后,执行以下命令重启nginx服务:

sudo service nginx restart

现在,访问网站时,就可以在日志中看到请求发送的cookie信息了。

例如,访问地址http://www.example.com,在access.log中的日志记录如下:

192.168.0.1 - - [15/Dec/2021:01:11:53 +0800] "GET / HTTP/1.1" 200 26722 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36" "-" "COOKIE_VALUE"

日志记录中的"COOKIE_VALUE"即为请求时发送的cookie信息。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:关于nginx日志增加cookie信息 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • nginx 配置两个域名

    1、首先第一步安装: 参考:https://www.cnblogs.com/wyd168/p/6636529.html 启动: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf重启:[root@bhyw1 sbin]# ./nginx -s reload关闭: ps -ef|gre…

    Nginx 2023年4月13日
    00
  • nginx系统真正有效的图片防盗链完整设置详解

    原文:http://www.wufangbo.com/nginx-fang-dao-lian/   关于nginx防盗链的方法网上有很多教程,都可以用,但是我发现很多教程并不完整,所做的防盗链并不是真正的彻底的防盗链! 一般,我们做好防盗链之后其他网站盗链的本站图片就会全部失效无法显示,但是您如果通过浏览器直接输入图片地址,仍然会显示图片,仍然可以右键图片另…

    Nginx 2023年4月9日
    00
  • nginx安装第三方模块的方法

      nginx第三方模块安装方法:   ./configure –prefix=/你的安装目录 –add-module=/第三方模块目录 以安装fair模块实例 下载fair安装包并解压     1、在未安装nginx的情况下安装nginx第三方模块 # ./configure –prefix=/usr/local/nginx-1.9.9 –add-…

    Nginx 2023年4月10日
    00
  • Nginx环境的搭建以及安装配置

    Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务 为什么选择Ngix:(1):IO多路复用epoll—在一个线程里面交替并发的完成任务;         (2):轻量级(功能模块少,代码模块化)         (3):cpu亲和(把cpu的核心和nginx的工作进程绑定方式,把每个work…

    Nginx 2023年4月13日
    00
  • nginx自定义负载均衡及根据cpu运行自定义负载均衡

    转载请注明出处: 1.nginx如何自定义负载均衡   在Nginx中,可以通过配置文件自定义负载均衡策略。具体步骤如下: 首先,在Nginx配置文件中定义一个upstream模块,并设置负载均衡策略和后端服务器列表,例如: upstream myapp { server backend1.example.com weight=3; server backe…

    Nginx 2023年4月16日
    00
  • Nginx如何升级Openssl

    1. 什么是Openssl? 在计算机网络上,OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连线者的身份。这个包广泛被应用在互联网的网页服务器上。 其主要库是以C语言所写成,实现了基本的加密功能,实现了SSL与TLS协议。OpenSSL可以运行在OpenVMS、 Microsoft Windows以及…

    Nginx 2023年4月10日
    00
  • phantomjs 双向认证,访问nginx,https

    应用背景:       phantomjs的一个爬虫,访问https站点,单向认证(只认证服务器身份)的都可以,双向认证(服务器和客户端都需要认证)必须上传本地证书;       开始用一个包含公钥私钥的PEM证书访问,怎么都不行,必须要用拆成两个,把公钥和私钥拆开,用–ssl-certificates-path=<val>不行,注意路径   …

    Nginx 2023年4月13日
    00
  • nginx配置Strict Transport Security

    一个网站接受一个HTTP的请求,然后跳转到HTTPS,用户可能在开始跳转前,通过没有加密的方式和服务器对话,比如,用户输入http://zt.test.com或者直接zt.test.com。这样存在中间人攻击潜在威胁,跳转过程可能被恶意网站利用来直接接触用户信息,而不是原来的加密信息。网站通过HTTP Strict Transport Security通知浏…

    Nginx 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部