在nginx日志里,请求来源的信息可以通过多种变量获取,主要涵盖以下几个方面:
- 客户端IP地址:使用$remote_addr记录发起请求的客户端IP地址。
- 客户端用户名:若已启用认证,可通过$remote_user获取经http基本认证的用户名。
- 请求的URL与HTTP协议:$request变量用于记录请求的URL及所用的HTTP方法(例如GET, POST, delete等)。
- 响应状态:$status显示HTTP响应的状态码。
- 发送至客户端的数据量:$body_bytes_sent记录响应体实际发送到客户端的数据量,不包含响应头大小。
- 总发送数据量:$bytes_sent表示响应体和响应头全部发送给客户端的数据总量。
- 连接序列号:$connection标识客户端与服务器间建立连接的具体编号。
- 当前连接上的请求数:$connection_requests统计通过同一连接发出的请求数目。
- 日志记录时间:$msec以毫秒为单位记录日志生成的时间点。
- HTTP流水线状态:若请求采用HTTP流水线方式,则$pipe显示为“p”,否则为“.”。
- HTTP引用页:$http_referer反映是从哪个页面跳转而来的。
- 客户端浏览器信息:$http_user_agent捕捉客户端浏览器的相关详情。
- X-forwarded-For头信息:$http_x_forwarded_for检查是否存在反向代理并记录初始客户端IP地址(前提是设置了反向代理)。
- 自定义请求头:借助log_format定义自定义变量,可捕获任何特定请求头字段,如$http_myheader。
借助上述变量,能够深入剖析请求来源的各种细节,比如地理位置、设备型号、访问时段、访问频次等,有助于开展安全威胁评估以及网络流量监控工作。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END