nginx记录客户端真实ip问题与日志时间格式修改

本公众号内容大多由平时操作整理记录,如果有错误的地方欢迎留言指正

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标准格式的当地时间

: 通用日志格式的本地时间

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180714G1H3K600?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券