如何获取真实ip?分享3个方法
如何获取真实ip?普通的网络应用服务器是可以通过解析X-Forwarded-For记录获取客户端的真实IP。X-Forwarded-For(XFF)是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。
下面,小编我分享3个获取真实ip的方法,主要是描述Nginx、IIS 7和Apache服务器的X-Forwarded-For配置方案。
一、Nginx服务器的配置方案
1、使用Nginx服务器时,需要http_realip_module模块来获取客户端的真实ip。默认安装的Nginx不包含http_realip_module模块,我们需要重新编译Nginx并添加--with-http_realip_module。
2、修改nginx.conf。
vi /etc/nginx/nginx.conf
修改红色部分如下:
set_real_ip_from ip地址;//ip地址为WAF的回源IP地址,可在Web应用防火墙控制台的实例管理列表的回源IP段中查看。
real_ip_header X-Forwarded-For;
3、重启 Nginx。
服务 nginx 重启
二、IIS 7服务器的配置方案
1、下载并安装插F5XForwardedFor模块。根据我们服务器的操作系统版本,将or目录下的F5XFFHttpModule.dlland复制到某个目录下。这里假设它是确保IIS进程对该目录具有读取权限。
F5XFFHttpModule.ini x86\Release x64\Release C:\F5XForwardedFor
2、选择【IIS服务器】,双击【模块】功能。
3、单击 [配置本机模块] 。
4、在弹出的框中点击【注册】。
5、添加下载的DLL文件
6、添加完成后勾选,点击【确定】。
7、在IIS服务器的“ISAPI and CGI Restrictions”中,添加两个DLL文件,并将限制设置为Allow。
8、重启IIS服务器,等待配置生效。
三、Apache服务器的配置方案
1、Apache v2.4自带mod_remoteip,可以获取客户端的真实ip。
2、添加以下文件进行配置
# 因为 /usr/local/apache/conf/httpd.conf
启用模块
包括 conf/extra/httpd-remoteip.conf
# 因为 /usr/local/apache/conf/extra/httpd-remoteip.conf
添加以下内容
LoadModule remoteip_module modules/mod_remoteip.so
RemoteIPHeader X-Forwarded-For
RemoteIPTrustedProxy IP地址//IP地址为WAF的回源IP地址,可在Web应用防火墙控制台的实例管理列表的回源IP段中查看。
3、添加完成后,重启Apache。
/usr/sbin/apachectl -k 重启
以上就是“如何获取真实ip”的3个方法,希望能帮助到大家!
版权声明
本文仅代表作者观点,不代表博信信息网立场。