httpd服务器的真实ip获取难题
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获取难题的更多相关文章
- 查找服务器的真实ip
最近做项目遇到很多网站使用了cdn,导致扫目录等操作很难进行. 于是学习了一下绕过cdn的一下方法,记录一下. 大致分为下面几种方法: 1.查找子域名 实际上这个方法不一定有用因为很多子域名并不是和W ...
- Nginx 内置变量,细化规则,真实IP获取及限制连接请求
希望下周测试之后能用起来!!!感觉很有用的. http://www.bzfshop.net/article/176.html http://www.cr173.com/html/19761_1.htm ...
- js获取设备公网ip + 服务器根据公网ip 获取IP信息
1.前言 本来呢,想实现js定位功能,最少定位到城市,一开始,使用的是搜狐的api直接获取数据,可是,有时候搜狐不可靠,只能得到 公网ip,其他信息无用,就像这样 2.既然这样,还不如我自己请求自己的 ...
- Nginx如何保留真实IP和获取前端IP
原理: squid,varnish以及nginx等,在做反向代理的时候,因为要代替客户端去访问服务器,所以,当请求包经过反向代理后,在代理服务器这里这个IP数据包的IP包头做了修改,最终后端web服务 ...
- Nginx负载均衡反向代理 后端Nginx获取客户端真实IP
Nginx 反向代理后,后端Nginx服务器无法正常获取客户端的真实IP nginx通过http_realip_module模块来实现的这需要重新编译,如果提前编译好了就无需重新编译了1,重新编译ng ...
- nodejs+nginx获取真实ip
nodejs + nginx获取真实ip分为两部分: 第一.配置nginx: 第二.通过nodejs代码获取: 其他语言也是一样的,都是配置nginx之后,在http头里面获取“x-forwarded ...
- 域名做CDN来通过隐藏服务器真实IP的方法来防止DDoS攻击(转)
隐藏服务器真实IP是解决问题最好和最快的方法,但只针对小流量,大流量同样会扛不住. 服务器前端加CDN中转,比如阿里云.百度云加速.360网站卫士.加速乐.安全宝等,如果资金充裕的话,可以购买高防的盾 ...
- 隐藏服务器真实IP的方法来防止DDOS攻击
2017-08-22 作者:小唐 点击: 10,500次 在无盘系统的环境下,服务器软件存在漏洞,就容易受到DDOS攻击,隐藏服务器真实IP是解决问题最好的方法,下面小编与大家分享一下隐藏服务器真实I ...
- 防止DDOS攻击有效方法:隐藏服务器真实IP
如今,网站服务器的安全受到越来越多的重视,但是难免会遇到黑客使用DDoS攻击网站,为了网站的安全通常都会做好防御,其中防止DDoS攻击有效方法:隐藏服务器真实IP ,该技术能够有效地保护网站的安全. ...
随机推荐
- Hadoop社区版搭建
1.环境准备 1.1 硬件配置 设备名 参数 数量 6台 系统 centos6.5 内存 64G 硬盘 32T/台 CPU 16核/台 1.2 软件版本 Hadoop-2.x 下载地址 JDK1.7 ...
- PHP-CPP开发扩展(六)
PHP-CPP是一个用于开发PHP扩展的C++库.本节讲解在C++中PHP异常.变量.常量的实现相关知识. 异常 PHP和C++都支持异常,而PHP-CPP库这两种语言之间的异常处理是完全透明的.你在 ...
- Spring Boot初识(1)-了解Spring Boot
写在前面:半年工作经验的Java程序员一枚,奈何公司用的是自研的Web框架和RPC框架,本着good good study,day day up的精神和为以后发展的考虑觉得自己需要学点开源的东西,写的 ...
- 各种实现js继承的方法总结
昨天主要介绍了原型,在js中,原型,原型链和继承是三个很重要的概念,而这几个概念也是面试中经常会被问到的问题,今天,就把昨天还没总结的原型链和继承继续做一个整理,希望大家一起学习,一起进步呀O(∩_∩ ...
- [转]基于boot2docker部署Docker环境
本文转自:https://www.cnblogs.com/52fhy/p/8413029.html Docker轻量级的特性使得我们可以快速打包开发环境:一处编译,到处使用.我们可以在第一次编译好需要 ...
- FTP 150 Opening BINARY mode data connection for MLSD 读取目录列表失败
这完全是因为防火墙的问题,把服务器的防火墙关闭之后,在连接,一切ok
- oracle创建用户、创建表空间、授权、建表
2.然后我就可以来创建用户了. create user zzg identified by zzg123; 3.创建好用户我们接着就可以修改用户的密码. alter user zzg identifi ...
- [转载] C# 调用C++ DLL 的类型转换
//C#调用C++的DLL搜集整理的所有数据类型转换方式,可能会有重复或者多种方案,自己多测试 //c++:HANDLE(void *) ---- c#:System.IntPtr //c++:Byt ...
- 为什么要先装IIS后装.Net Framework?
1.动态页面和静态页面的区别 动态页面(动态网站):通过C#代码(或别的语言)与服务器的交互的实现(比如新建一个ashx一般处理程序中的C#代码就可以和服务器实现交互,修改数据库,上传图片等都属于和服 ...
- hadoop 核心概念及入门
Hadoop Hadoop背景 什么是HADOOP HADOOP是apache旗下的一套开源软件平台HADOOP提供利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理,HADOOP的核 ...