LAMP--Apache 日志记录代理 ip 和真实客户端 ip

默认的log日志格式在主配置文件 httpd.conf 中可以看到:

[[email protected] ~]# vim /usr/local/apache2/conf/httpd.conf
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common

其中 %h 是记录访问者的 IP,如果在 web 的前端有一层代理,那么这个 %h 其实就是代理机器的 IP,这不是我们想要的。在这种情况下,%{X-FORWARDED-FOR}i 字段会记录客户端真实的ip。所以配置文件改为:

    LogFormat "%h %{X-FORWARDED-FOR}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
时间: 2024-10-03 14:05:15

LAMP--Apache 日志记录代理 ip 和真实客户端 ip的相关文章

nginx前端代理tomcat取真实客户端IP

使用Nginx作为反向代理时,Tomcat的日志记录的客户端IP就不在是真实的客户端IP,而是Nginx代理的IP.要解决这个问题可以在Nginx配置一个新的Header,用来存储$remote_add,然后再Tomcat获取记录这个值. 新增nginx配置. server { listen 80; server_name www.xxxxx.com; location / { proxy_pass http://IP:8080/; proxy_set_header X-Real-IP $rem

apache 日志中记录代理IP以及真实客户端IP

vim /usr/local/apach2/conf/httpd.conf 默认情况下log日志格式为:LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined其中%h 是记录访问者的IP,如果在web的前端有一层代理,那么这个%h其实就是代理机器的IP,这不是我们想要的.在这种情况下,%{X-FORWARDED-F

(转)apache 日志中记录代理IP以及真实客户端IP

原文:http://ask.apelearn.com/question/960 https://www.ibm.com/mysupport/s/question/0D50z00005phrbqCAA/how-to-capture-real-client-ip-in-websphere-application?language=zh_CN 默认情况下log日志格式为:LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer

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 ' 

apache关于记录真实客户端ip和不记录健康检查日志

由于负载均衡会转发客户端的请求到web服务器,所以web服务往往记录的是负载均衡的IP,现在可以通过下面的配置,让apache记录真实客户端IP 语法 #LogFormat  "\"%{X-Forwarded-For}i\"%l %t \"%r\" %>s %b \"%{Referer}i\"\"%{User-Agent}i\"" combined 普通日志和记录客户端IP的apache日志比较 #L

使用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后端显示真实客户端IP

公司是nginx做代理,后端的web服务用的是apache,然后我现在要分析日志,但是,我的apache日志上显示的是代理服务器的ip地址,不是客户的真实IP 所以这里我需要修改一下,让apache的日志显示客户的真实IP.从网上记录搜了一些文档,现在整理如下. 文章参考: http://www.ttlsa.com/apache/apache-get-real-ip/ http://www.weixiaodeyu.com/blog/yum-apache-install-mod_rpaf.html

rails中使用grape做api,生产环境用nginx做代理,获取真实的ip

Grape官方网站上给出如下的代码,但我用了nginx代理,接收到的都是127.0.0.1class API < Grape::API helpers do def logger API.logger end end post '/statuses' do logger.info "#{current_user} has statused" end end 后来打印了header记录发现里面有真实的ip,可以通过headers['X-Forwarded-For'].to_s获取真

Apache日志记录浏览器的名字

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