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

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.dtcms.com/a/202169.html

相关文章:

  • QT高DPI支持
  • AI人工智能的SGLang、vllm和YaRN大语言模型服务框架引擎的对比
  • HarmonyOS应用开发入门宝典——项目驱动学习法实践
  • 中国机加工的市场概况及冷镦技术对于机加工替代的趋势
  • Java 04 API
  • 深入浅出人工智能:机器学习、深度学习、强化学习原理详解与对比!
  • docker容器知识
  • JIT即时编译器全面剖析:原理、实现与优化
  • Java实现基于bitmap的字符串去重统计
  • Pycharm-jupyternotebook不渲染
  • 工作流引擎-01-Activiti 是领先的轻量级、以 Java 为中心的开源 BPMN 引擎,支持现实世界的流程自动化需求
  • spark-shuffle 类型及其对比
  • Spring AI实现一个简单的问答系统
  • Java程序员从0学AI(二)
  • C# 使用 OpenCV 基础
  • spark调度系统核心组件SparkContext、DAGSchedul、TaskScheduler介绍
  • 【Fifty Project - D29】
  • 容器环境渗透测试工具(docker渗透测试工具、kubernetes)
  • 在CuPy中使用多节点多GPU环境
  • 2025年医美行业报告60+份汇总解读 | 附 PDF 下载
  • Golang的代码注释规范与实践
  • 【笔试强训day37】
  • 从 0 到 1 选对 AI 自动化平台,深度对比三大AI自动化平台:n8n vs Dify vs Coze(附选型指南与实战案例)
  • 简易的Java制作的c4爆炸倒计时程序
  • 时源芯微|接口滤波与防护电路的设计
  • 【课堂笔记】核方法和Mercer定理
  • 打造高效数据处理利器:用Python实现Excel文件智能合并工具
  • Java EE进阶1:导读
  • 科技赋能·长效治理|无忧树建筑修缮渗漏水长效治理交流会圆满举行!
  • Spring Boot 使用 jasypt配置明文密码加密