本公众号内容大多由平时操作整理记录,如果有错误的地方欢迎留言指正
nginx日志记录客户端ip问题
nginx在使用负载均衡时后端服务的日志记录默认会记录反向代理服务器的ip地址,不记录客户端真实ip,要使后端服务器记录真实客户端ip,需要在代理服务器添加一些设置。并且后端服务要确保使用realip模块, realip 模块的作用是:当本机的nginx处于一个反向代理的后端时获取到真实的用户
ip。
nginx代理上的设置
后端nginx服务器设置
proxy_set_header指令: 允许将字段重新定义或附加到传递给代理服务器的请求标头
Host ; : 允许将字段重新定义或附加到传递给代理服务器的请求标头,Host 是定义的变量名称,host获取的值赋值给Host
proxy_set_header X-Real-IP ; 作用同上,nginx代理服务器获取到的ip的真实的客户端ip地址
proxy_set_header X-forwarded-for
set_real_ip_from 192.168.214.148; realip模块的作用,告诉服务器 192.168.214.148是代理服务器,
real_ip_header X-Real-IP; 告诉服务器真正的用户IP
生成日志
上面的日志中时间格式不是标准时间格式,不好查看和匹配,日志内容参数有其他格式可以替换,如下对比:
: ISO 8601标准格式的当地时间
: 通用日志格式的本地时间
领取专属 10元无门槛券
私享最新 技术干货