$remote_addr & $http_x_forwarded_for
1 解析
nginx 默认访问日志格式的最后一项
- 当客户端使用代理服务器访问时,
$remote_addr
只能获得代理服务器地址 - 此时要想获得客户端真实地址,就需要使用
$http_x_forwarded_for
# remote_addr
浏览当前页面的用户计算机的ip地址
# http_x_forwarded_for
浏览当前页面的用户计算机的网关
# http_client_ip
客户端的ip
=
2 不同访问方式有不同的定义
客户端以不同的形式发起访问时,remote_addr
和http_x_forwarded_for
对应不同的定义
# 不使用代理
remote_addr = 您的 IP
http_x_forwarded_for = 没数值或不显示
# 使用透明代理服务器
remote_addr = 最后一个代理服务器 IP
http_x_forwarded_for = 您的真实 IP
# 使用普通匿名代理服务器
'能隐藏自身ip,但不能隐藏代理访问的行为
remote_addr = 最后一个代理服务器 IP
http_x_forwarded_for = 代理服务器 IP
=
wan