公共相应头
相应头 X-ReqId
在Nginx中实现
作用:上传请求的唯一 ID。通过该 ID 可快速定位用户请求的相关日志。
要求:
- nginx version v1.11以上
配置方法:
1.在http内部添加map
map $http_x_request_id $reqid {
default $http_x_request_id;
"" $request_id;
}
2.在log中添加reqid
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for $reqid"';
3.传递到backend service
location @proxy_to_app {
proxy_set_header X-ReqId $reqid;
proxy_pass http://backend;
access_log /var/log/nginx/access_trace.log trace;
}
4.返回给client的头部
在server段进行设置 add_header X-ReqId $reqid;
最后效果:
Response Headers
Connection:keep-alive
Content-Type:application/json;charset=UTF-8
Date:Wed, 08 Nov 2017 01:48:48 GMT
Server:nginx/1.12.2
Transfer-Encoding:chunked
X-ReqId:eb90e3a7e482f615bbedb84fdfb3784b