假设将nginx服务器作为web服务器,位于负载均衡设备,nginx反向代理之后,不能获取到客户端的真实ip地址了。
原因是进过反向代理后,由于在客户端和web服务器之间增加了中间层,因此web服务器无法直接拿到客户端的ip。通过$remote_addr变量拿到的将是反向代理服务器的ip地址,但是,反向代理服务器在转发请求的http头信息中,可以增加X-Forwarded-For信息,用以记录原有的客户端ip地址和原来客户端请求的服务器地址。
语法:access_log path [format [buffer=size [flush=time]]]
配置段:
gzip压缩等级
buffer设置内存缓存区大小
flush保存在缓存去中的最长时间
不记录日志:access_log off
使用默认combined格式记录日志:access_log logs/access.log 或access_log logs/access.log combined
注意:nginx进程设置的用户和组必须对日志路径有创建文件的权限,否则报错。
此外,对于每一条日志记录,都将是先打来文件,再写入日志,然后关闭,可以使用open_log_file_cache来设置日志文件缓存(默认是off)。
系统自动切割,利用linux操作系统的定时任务,执行sh脚本,来完成日志的自动切割。
nginx的log日志分为access log 和 error log
access log :记录了哪些用户,哪些页面以及用户浏览器、ip和其他的访问信息
error log :是记录服务器错误日志
access.log日志的形式如下:
其实nginx access日志的格式不是一成不变的,是可以自定义的。
在nginx的nginx.conf配置文件找到:log_format 这里就是日志的格式
看一下和上述日志匹配的log格式设置:
配置access log日志的存储位置及文件,注意:access.log文件是可以按日期进行分割的,方便查看及处理
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)