< 返回新闻公共列表

如何获取真实ip?恒讯科技分享3个方法

发布时间:2022-11-11 14:13:11

如何获取真实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。

 

如何获取真实ip?恒讯科技分享3个方法.png


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文件,如下图: 


如何获取真实ip?恒讯科技分享3个方法..png


6、添加完成后勾选,点击【确定】。

7、在IIS服务器的“ISAPI and CGI Restrictions”中,添加两个DLL文件,并将限制设置为Allow。 


如何获取真实ip?恒讯科技分享3个方法...png


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个方法,希望能帮助到大家!


/template/Home/Zkeys724/PC/Static