nginx和apache日志记录用户真实ip:X-Real-IP

如果结构里有个反向代理,那后端机器的日志记录的就会是代理的ip,真实的ip看不到了,后端代码可以通过在header里设置真实ip来解决,nginx加入下面一段即可:

proxy_set_header X-Real-IP $remote_addr;

后端通过X-REAL-IP或者HTTP_X_REAL_IP变量获取.

日志记录的话,nginx可以定义$http_x_real_ip变量,例如:
    log_format main ‘$http_x_real_ip - $remote_user ‘
                      ‘[$time_local] "$request_method $scheme://$host$request_uri $server_protocol" ‘
                      ‘$status $body_bytes_sent "$http_referer" ‘
                      ‘"$http_user_agent" "$http_x_forwarded_for" - $remote_addr‘;
apache可以通过%{X-Real-Ip}i来获取:
    LogFormat "%{X-Real-Ip}i %l %u %t \"%m http://%v%U%q\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" - %h" combinedall

nginx和apache日志记录用户真实ip:X-Real-IP,布布扣,bubuko.com

时间: 2025-01-03 18:49:46

nginx和apache日志记录用户真实ip:X-Real-IP的相关文章

X-Forwarded-For (IIS日志记录用户真实IP)

参考:http://www.jbxue.com/article/7521.html 当IIS放在反向代理后面时,日志中的客户端ip是反向代理服务器的ip,不是用户的真实IP地址. 本文为大家介绍使用X-Forwarded-For获取到用户真实IP地址的方法. 下载 X-Forwarded-For,即文件是 F5XForwardedFor.dll 如dll文件位于:C:\ISAPIFilter\F5XForwardedFor.dll 在iis站点添加下面的 isapi 筛选器 操作步骤: 网站 -

使用CDN之后APACHE日志记录中IP地址不正确的解决方案

这篇文章主要介绍了使用CDN之后APACHE日志记录中IP地址不正确的解决方案,需要的朋友可以参考下最近在搞APACHE日志分析,装好了awstats之后,这两天进行了观察, 报表日期 月 1 月 2010首次参观日期 2010年01月12日 11:04最近参观日期 2010年01月13日 23:59参观者 参观人次 网页数 文件数 字节浏览器流量 * 77 226 (2.93 参观人次/参观者) 508979 (2252.11 网页数/参观) 509492 (2254.38 文件数/参观) 1

Apache日志记录浏览器的名字

如果你想记录用户所使用的浏览器的名字,辨别是移动客户端还是PC客户端.你可以在Apache日志中记录这个信息,日志格式: %{User-Agent}i 比如,会有下列这个信息: User-Agent: Mozilla/4.77 [en] (X11; U; Linux 2.4.4-4GB i686) Apache日志记录浏览器的名字,布布扣,bubuko.com

使用logrotate轮询nginx和apache日志

使用logrotate轮询nginx和apache日志 文章目录 [隐藏] 配置nginx 配置apache 使用logrotate轮询日志很方便,配置也很简单. 配置nginx 1.建立/etc/logrotate.d/nginx文件 vi /etc/logrotate.d/nginx 2.写入如下内容: /var/log/nginx/*log { daily rotate 10 missingok notifempty compress sharedscripts postrotate [

PPTP-VPN日志功能,记录用户登录时间,流量统计,IP地址等信息

我们先看两个文件 /etc/ppp/ip-up /etc/ppp/ip-down 这两个文件为shell脚本,当PPTP用户连接或者断开时分别执行这两个文件,并且会带相应的参数 这些参数有 $PEERNAME //PPTP用户名 ${1} //网卡名称,例如ppp0 $4 //网关IP,例如192.168.2.1 $5 //用户静态IP,例如192.168.2.10 $6 //用户真实IP地址,118.13.24.189 $BYTES_SENT //发送的总流量 $BYTES_RCVD //接收

nginx或apache日志清洗脚本

#!/bin/sh zcat www_access_log.2013-12-31.gz|awk -F"\"" ' BEGIN{ OFS="@"  #输出字段之间的分隔符,用别的也可以 } { ip="" ips="" logtime="" if(match($1,/([^-]+[0-9]|-) [^ ]+ ([^ ]+ )?\[[^:]+:([^ ]+)/,f)) { ip=f[1] logtim

统计apache日志文件里访问量前十的ip并按从多到少排列

解法1: cat access_log | awk  ’{print $1}’ | sort | uniq -c | sort -n -r | head -10 解法2:cat access_log | awk -F “- -” ‘{print $1}’ | sort -t . | uniq -c | sort -n -r | head -10 awk ‘{a[$1] += 1;} END {for (i in a) printf(“%d %s\n”, a[i], i);}’ 日志文件 | so

haproxy,tomcat.apache记录用户真实IP

Haproxy配置: default加入: option httpclose option forwardfor Tomcat配置: server.xml中添加 prefix="localhost_access_log." suffix=".txt" pattern="%{X-FORWARDED-FOR}i %l %u %t %r %s %b %D %q %{User-Agent}i %T" resolveHosts="false&qu

前端Nginx,后端Apache获取用户真实IP地址

Nginx作为前端,Apache作为后端的情况下,Apache只能获取到Nginx前端的内网ip地址(10.10.0.*),而无法获取到用户的真实ip地址,在这种情况下,后端是Apache如何获取用户真实IP地址? nginx 关键配置 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;