1004
人物
獲取來訪真實IP的方法__最佳實踐_負載均衡-阿裏雲
負載均衡服務通過以下方式獲取來訪的真實 IP 地址:
- 4 層負載均衡(TCP協議)服務可以直接在後端 ECS 上獲取來訪者真實 IP 地址,無需進行額外的配置。
- 7 層負載均衡(HTTP協議)服務需要對應用服務器進行配置,然後使用 X-Forwarded-For 的方式獲取訪問者真實 IP。
本文針對 7 層(HTTP協議)負載均衡服務,介紹了如何配置以下常見應用服務器,從而可獲取來訪者真實 IP。
- IIS 6
- IIS 7
- Apache
- Nginx
IIS 6 配置方案
配置 IIS 6 服務器,通過 IIS 6 日誌獲取來訪者真實 IP 地址,您需要完成如下操作:
- 下載 F5XForwardedFor.dll 插件,下載地址為 下載 F5XForwardedFor 插件。
- 安裝 F5XForwardedFor.dll 插件:
- 根據自己的服務器操作係統版本,將 x86Release 或者 x64Release 目錄下的 F5XForwardedFor.dll 文件拷貝到某個目錄,這裏假設為 C:ISAPIFilters,確保 IIS 進程對該目錄有讀取權限。
- 打開 IIS 管理器,找到當前開啟的網站。
- 右鍵單擊該網站,然後單擊 屬性,打開屬性頁。
- 在屬性頁上,打開 “ISAPI 篩選器”,然後單擊 添加 按鈕,打開 “添加窗口”。
- 在添加窗口中,篩選器名稱 填寫 “F5XForwardedFor”,可執行文件 填寫F5XForwardedFor.dll 的完整路徑,然後點擊 確定。
- 重啟 IIS 服務器,等待配置生效。
IIS 7 配置方案
配置 IIS 7 服務器,通過 F5XForwardedFor 模塊獲取來訪者真實IP,您需要完成如下操作:
- 下載插件 F5XForwardedFor 模塊,下載地址為 F5XForwardedFor 下載地址。
安裝插件 F5XForwardedFor 模塊:
- 根據服務器操作係統版本將 x86Release 或者 x64Release 目錄下的 F5XFFHttpModule.dll 文件和 F5XFFHttpModule.ini 文件拷貝到某個目錄,這裏假設為 C:F5XForwardedFor,確保 IIS 進程對該目錄有讀取權限。
打開 IIS 管理器,雙擊 模塊。
在 模塊 窗口,單擊 配置本機模塊。
在彈出框中單擊 注冊。
添加下載的 DLL 文件,以下圖片提供了兩個示例。
添加完成後,在 “配置本機模塊” 窗口的列表中勾選添加的模塊,並單擊 確定。
在“ISAPI 和 CGI 限製”窗口中,添加這兩個 DLL,並將 限製 改為 “允許”:
重啟 IIS 服務器,等待配置生效。
Apache 配置方案
運行以下命令,安裝 Apache 的第三方模塊 mod_rpaf:
wget https://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
tar zxvf mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6
/alidata/server/httpd/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
修改 Apache 的配置文件 /alidata/server/httpd/conf/httpd.conf,在最末尾添加以下配置信息:
LoadModule rpaf_module modules/mod_rpaf-2.0.so
RPAFenable On
RPAFsethostname On
RPAFproxy_ips <IP地址>
RPAFheader X-Forwarded-For
注意:
RPAFproxy_ips <IP地址>
這行中,IP 地址不是負載均衡提供的公網 IP,您可以查看 Apache 日誌確定具體 IP 地址,通常會有2個,都需要提供。以下代碼提供了一個具體示例。LoadModule rpaf_module modules/mod_rpaf-2.0.so
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 10.242.230.65 10.242.230.131
RPAFheader X-Forwarded-For
運行以下命令重啟 Apache:
/alidata/server/httpd/bin/apachectl restart
Nginx配置方案
配置 Nginx 服務器,通過使用 http_realip_module 獲取來訪真實 IP,您需要完成以下操作:
加裝
--with-http_realip_module
:wget https://soft.phpwind.me/top/nginx-1.0.12.tar.gz
tar zxvf nginx-1.0.12.tar.gz
cd nginx-1.0.12
./configure --user=www --group=www --prefix=/alidata/server/nginx --with-http_stub_status_module --without-http-cache --with-http_ssl_module --with-http_realip_module
make
make install
kill -USR2 `cat /alidata/server/nginx/logs/nginx.pid`
kill -QUIT `cat /alidata/server/nginx/logs/ nginx.pid.oldbin`
打開 nginx.conf 配置文件:
vi /alidata/server/nginx/conf/nginx.conf
在以下配置信息後添加新的配置字段和信息:
fastcgi connect_timeout 300;
fastcgi send_timeout 300;
fastcgi read_timeout 300;
fastcgi buffer_size 64k;
fastcgi buffers 4 64k;
fastcgi busy_buffers_size 128k;
fastcgi temp_file_write_size 128k;
需要添加的配置字段和信息為:
set_real_ip_from <IP 地址>;
real_ip_header X-Forwarded-For;
注意:
set_real_ip_from <IP 地址>
中的 IP 地址不是負載均衡提供的公網 IP,您需要查看 Nginx 日誌確定具體 IP 地址,如果有多個 IP 地址,都需要提供。重啟 Nginx 服務器:
/alidata/server/nginx/sbin/nginx -s reload
最後更新:2016-12-14 16:21:38
上一篇:
健康檢查異常的排查思路__最佳實踐_負載均衡-阿裏雲
下一篇:
配置不同會話保持規則__最佳實踐_負載均衡-阿裏雲
Condition__DataType_API 參考_表格存儲-阿裏雲
獲取聯係人模板編號__附錄_API文檔_域名-阿裏雲
ImageResultsRequest__SDK·接口介紹_內容檢測API文檔_阿裏綠網-阿裏雲
雲小蜜首次對外開放,阿裏雲的智能客服機器人有何新特點?
推薦碼的使用規則___推薦碼_代金券及推薦碼_財務-阿裏雲
產品概述__產品簡介_消息服務-阿裏雲
7.4 查詢SQL優化__第七章 性能優化和診斷_使用手冊_分析型數據庫-阿裏雲
哪些雲服務支持RAM?__常見問題_產品使用問題_訪問控製-阿裏雲
恢複備份集到實例__備份恢複_API 參考_雲數據庫 RDS 版-阿裏雲
步驟4:驗證配置生效__快速入門(網站業務)_DDoS 高防IP-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲