nginx 日志配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# 日志配置
http {
map $http_x_request_id $req_id {
default $http_x_request_id;
'' $request_id;
}

log_format upstreaminfo
'$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" "$http_user_agent" '
'$request_length $request_time $upstream_addr '
'$upstream_response_length $upstream_response_time $upstream_status $req_id';

server {
listen 80;
server_name localhost;

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

location / {
add_header X-Request-Id $req_id; # 添加最终的响应头里面,一般在网关的时候需要
proxy_set_header Host $host;
proxy_set_header X-Request-Id $req_id;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Client-Real-ip $remote_addr;

proxy_pass http://192.168.8.111:8888;
}
}

}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$request_length        # 请求长度(包括请求行,标题和请求正文)
$request_method # 请求的动作(get或者post)
$request_time # 请求时间(以毫秒为单位的请求处理时间(1.3.9,1.2.6); 从客户端读取第一个字节后经过的时间)
$request_url # 完整的原始请求URL(带参数)
$scheme # 返回用的协议,是http还是https
$remote_addr # 客户端的地址
$remote_port # client port
$remote_user # 基本认证的身份
$server_addr # 服务端的地址
$server_port # server port
$server_protocol # 使用的http的版本“HTTP/1.0”, “HTTP/1.1”, or “HTTP/2.0”
$status # 回应状态
$body_bytes_sent # 给你主体发送的字节
$http_referer # 请求的上个页面来至于哪里
$http_x_forwarded_for # 代理服务器的IP地址
$http_user_agent # 浏览器的型号
$uri # 除去域名和协议的URL

================upstream 模块所支持的变量==============
$upstream_addr # 处理请求的上游服务器的地址
$upstream_response_length # 从上游服务器获得的响应体的字节数,不包括响应头
$upstream_cache_status # 表示是否命中缓存
$upstream_status # 上游服务器的响应状态码
$upstream_response_time # 上游服务器的响应时间,精度到毫秒
打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2018-2024 Outsrkem
  • 访问人数: | 浏览次数:

      请我喝杯咖啡吧~

      支付宝
      微信