如何獲取真實ip?普通的網(wǎng)絡(luò)應用服務器是可以通過解析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模塊。根據(jù)我們服務器的操作系統(tǒng)版本,將or目錄下的F5XFFHttpModule.dlland復制到某個目錄下。這里假設(shè)它是確保IIS進程對該目錄具有讀取權(quán)限。
F5XFFHttpModule.ini x86\Release x64\Release C:\F5XForwardedFor
2、選擇【IIS服務器】,雙擊【模塊】功能。
3、單擊 [配置本機模塊] 。
4、在彈出的框中點擊【注冊】。
5、添加下載的DLL文件,如下圖:
6、添加完成后勾選,點擊【確定】。
7、在IIS服務器的“ISAPI and CGI Restrictions”中,添加兩個DLL文件,并將限制設(shè)置為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
添加以下內(nèi)容
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個方法,希望能幫助到大家!
Copyright ? 2013-2020. All Rights Reserved. 恒訊科技 深圳市恒訊科技有限公司 粵ICP備20052954號 IDC證:B1-20230800.移動站