当前位置: 首页 > java >正文

Nginx配置记录访问信息

文章目录

  • 方法一:使用Nginx原生配置记录访问信息
  • 方法二:使用Nginx_headers_more模块记录更加详细的信息

Nginx被广泛应用于各种场景如:Web服务器、反向代理服务器、负载均衡器、Web应用防火墙(WAF)等
在这里插入图片描述
在实际的产品开发中,无论是功能测试或访问行为审计,都需要详细记录每一次访问行为

方法一:使用Nginx原生配置记录访问信息

vi /usr/local/nginx/conf/nginx.conf

http {log_format detailed '[$time_local] ''客户端IP: $remote_addr ''请求方法: $request_method ''URL: $request_uri ''协议: $server_protocol ''状态码: $status ''响应大小: $body_bytes_sent ''引用页: $http_referer ''用户代理: $http_user_agent ''请求头: "$http_headers" ''响应头: "$sent_http_headers"';access_log /var/log/nginx/detailed_access.log detailed;
}

测试可以发现,Nginx的访问日志中详细记录了客户端IP、请求方法、URL、HTTP版本、状态码、响应大小、referer字段、客户端浏览器等详细信息:
在这里插入图片描述

方法二:使用Nginx_headers_more模块记录更加详细的信息

# 1. 下载Nginx_headers_more模块源码
wget https://github.com/openresty/headers-more-nginx-module/archive/refs/heads/master.zip
unzip master.zip
# 2. 重新编译Nginx
./configure --add-module=/path/to/headers-more-nginx-module-master
make
make install
# 3. 配置Nginx记录完整访问信息
http {more_set_input_headers 'Request-Headers: $http_headers';more_set_headers 'Response-Headers: $sent_http_headers';log_format detailed '[$time_local] ''客户端IP: $remote_addr ''请求方法: $request_method ''URL: $request_uri ''协议: $server_protocol ''状态码: $status ''响应大小: $body_bytes_sent ''引用页: $http_referer ''用户代理: $http_user_agent ''完整请求头: "$more_input_headers_request_headers" ''完整响应头: "$sent_http_response_headers"';access_log /var/log/nginx/detailed_access.log detailed;

如果需要详细,可以使用lua脚本直接读取原始请求头和打印响应头

http://www.xdnf.cn/news/7625.html

相关文章:

  • uthash是一个非常轻量级的库
  • 基于单片机的车辆防盗系统设计与实现
  • Xshell传输文件
  • Babylon.js学习之路《六、材质与纹理:为模型赋予真实的表面效果》
  • 道路运输安全员需要具备哪些职业道德?
  • 复用保护倒换和通道保护倒换有什么区别?
  • 链表原理与实现:从单链表到LinkedList
  • Java转Go日记(四十):Gorm更新
  • 获取文件夹下所有文件的名称
  • PyTest
  • 【Fifty Project - D29】
  • HarmonyOS应用开发入门宝典——项目驱动学习法实践
  • 第十节第一部分:常见的API:Math、System、Runtime
  • 一、Singal Tap 观察reg信号和wire信号
  • AI智能客户运营系统架构:从数据采集到精准触达的全链路技术方案
  • RK BT656隔行输入在运动的时候有锯齿(横纹)
  • JAVA基础——数组与二维数组
  • 添加currentSchema后,该模式下表报不存在(APP)
  • 打卡day31
  • Gartner《AI Infrastructure WithKubernetes参考架构》学习心得
  • 如何利用易境通代购商城系统快速搭建、装修商城页面?
  • 认知不确定性(Epistemic Uncertainty, EU)和随机不确定性(Aleatoric Uncertainty, AU)
  • Linux 磁盘扩容实战案例:从问题发现到完美解决
  • C# 使用 OpenCV 基础
  • 代码随想录算法训练营
  • Oracle基础知识
  • 绿色云计算:数字化转型与可持续发展的完美融合
  • C#学习第24天:程序集和部署
  • msq基础
  • 【Python装饰器深潜】从语法糖到元编程的艺术