首页 > Web开发 > 详细

httpd服务器的真实ip获取难题

时间:2019-03-14 14:05:14      阅读:218      评论:0      收藏:0      [点我收藏+]

web服务器httpd中想要获取真正的ip是个难度,我们先要在配置文件中定义错误日志的格式:如下所示:

技术分享图片

然后获取ip

技术分享图片

上面三条输出日志中,第一条是直接访问http://172.16.213.157/img/, 此时client_ip和direct_ip内容是相同的,但在日志中显示client_ip为"-",这是因为“%{X-Forwarded-For}i”变量不会记录最后一个代理服务器IP信息。

第二条日志是经过一个代理去访问http://172.16.213.157/img/, 其实就是通过访问http://172.16.213.84 ,然后再让172.16.213.84代理去访问172.16.213.157服务器。这是经过了一层代理,可以看到,此时client_ip显示的是客户端真实IP地址,direct_ip显示的是代理服务器的IP地址。

第三条日志是经过了两个代理去访问http://172.16.213.157/img/, 也就是客户端通过浏览器访问http://172.16.213.84 ,然后172.16.213.84将请求发送到172.16.213.120服务器,最后,172.16.213.120服务器直接去访问172.16.213.157服务器,这是一个二级代理的访问日志,可以看到,client_ip显示了一个IP列表,分别是真实客户端IP地址172.16.213.132、第一个代理服务器IP地址172.16.213.84,并没有显示最后一个代理服务器的IP地址,而direct_ip显示的是最后一个代理服务器的IP地址。

httpd服务器的真实ip获取难题

原文:https://www.cnblogs.com/FengGeBlog/p/10529821.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!