Nginx教程

nginx 访问日志详解

本文主要是介绍nginx 访问日志详解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

nginx 访问日志默认值


默认配置格式

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

=

0 日志内容展示

[root@uat-nginx-jenkins ~]# tail /var/log/nginx/admin.access.log
47.102.25.47 - - [17/Jul/2021:23:20:01 +0800] "POST /system/remote/site/public/community/syncSite?indexTime=1626534900020 HTTP/1.1" 200 5 "-" "Apache-HttpClient/4.5.12 (Java/1.8.0_192)"

47.102.25.47 - - [17/Jul/2021:23:20:01 +0800] "POST /system/remote/group/public/community/syncUserGroup?indexTime=1626534900020 HTTP/1.1" 200 5 "-" "Apache-HttpClient/4.5.12 (Java/1.8.0_192)"

47.102.25.49 - - [17/Jul/2021:23:20:01 +0800] "POST /system/remote/publicPlatformConfig/public/community/syncPlatformConfig?indexTime=1626534900020 HTTP/1.1" 404 158 "-" "Apache-HttpClient/4.5.12 (Java/1.8.0_192)"

...

=

1 remote_addr

  • 表示发起访问的客户端 ip(一般为该用户的公网出口地址)
  • 若客户端是代理访问,则默认为代理服务器的地址
  • 若使用多层代理,则默认为最后一台代理服务器的地址
  • 注:可以通过修改服务端配置实现
# 示例:
47.102.25.47
47.102.25.49

=

2 remote_user

  • 启用用户验证()时所用的用户
  • 一般不开启
# 示例:
 - - 
 
# 为什么是两个横线
因为第一个横线是格式中定义的普通字符

# 对应关系:
'$remote_addr - $remote_user [$time_local]  ...
 47.102.25.47 - - [17/Jul/2021:23:20:01 +0800] ...

=

3 [$time_local]

  • 时间戳
# 示例:
[17/Jul/2021:23:20:01 +0800]

=

4 $request

  • 完整的原始请求行内容

  • 包括本次http请求的方法、urlhttp协议版本

# 示例:
"POST /system/remote/site/public/community/syncSite?indexTime=1626534900020 HTTP/1.1"

=

5 $status

  • http请求的响应状态码

# 示例:
200
404
502

=

6 $body_bytes_sent

  • nginx服务器响应客户端请求时,发送到客户端的字节数

  • 不包含响应头的大小

# 示例:
5
236
345634

=

7 $http_referer

  • 本次请求是从哪个页面跳转过来的

  • 直接访问无显示,超链接跳转则有

# 示例:
多为 "-" ,表示直接发起的访问

=

8 $http_user_agent

  • 客户端使用的浏览器名称和版本号

# 示例:
"Apache-HttpClient/4.5.12 (Java/1.8.0_192)"

=

9 $http_x_forwarded_for

  • 客户端本机的网关

  • 用户使用代理访问也能获得他的真实 ip

=

wan

这篇关于nginx 访问日志详解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!