学堂 学堂 学堂公众号手机端

如何获取真实ip?分享3个方法

lewis 1年前 (2024-04-12) 阅读数 9 #技术

如何获取真实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个方法,希望能帮助到大家!

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门