nginx服务常用的变量
nginx日志变量
$remote_addr
#记录访问网站的客户端地址
$http_x_forwarded_for
#当前端有代理服务器是,设置web节点记录客户端IP地址,前提是代理端也需要配置这个参数
$remote_user
#远程客户端用户名称
$time_local
#记录访问的时间和时区
$request
#用户的http请求起始信息
$status
#http状态码,记录请求返回的状态。
$body_bytes_sents
#服务器发送给客服端的响应的body字节数
$http_referer
#记录此次请求从那个链接访问过来的,可以根据referer进行防盗链设置
$http_user_agent
#记录客户端访问信息,例如:游览器、手机等。
$host
#记录了当前服务器地址,主用途的为了解析域名,使域名的解析成功。
$proxy_add_x_forwarded_for
#记录真实的客户端IP地址,但是服务器中的日志需要有这个变量。
nginx日志详解
10.0.0.254 - - [02/Oct/2019:10:56:26 +0800] "GET /tomcat.png HTTP/1.1" 200 5103 "http://10.0.0.3/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0" "-"
#nginx默认日志
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request"' '$status $body_bytes_sent "$http_referer"''"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html/tomcat/;
location / {
proxy_pass http://10.0.0.5:8080;
}
}
}
参数
说明
10.0.0.254 //客户端地址
GET /tomcat.png HTTP/1.1 //http协议版本
http://10.0.0.3/ //访问的服务IP地址
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) //显示的客户端机器
Firefox/69.0 //游览器版本
下面添加配置
10.0.0.3 10.0.0.254 - - [02/Oct/2019:15:22:36 +0800] "GET /bg-middle.png HTTP/1.1" 304 0 "http://10.0.0.3/tomcat.css;""Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0" "-"
server {
listen 80;
server_name www.jf.com;
root /usr/share/nginx/html;
location / {
root html;
index index.html index.htm;
proxy_set_header Host $host;
proxy_pass http://10.0.0.5:8080;
proxy_pass X_Real_ip $remote_addr;
proxy_set_header X_Forwarded_for $proxy_add_x_forwarded_for;
}
}
}
#这个变量添加了之后就有了本地服务地址
X_Forwarded_for $proxy_add_x_forwarded_for;这个变量是记录了各个代理节点所用的IP地址。