F5中源地址轉換(AutoMap)模式下後端服務器獲取客戶端真正的IP地址

F5中開啓AutoMap,並傳遞X-Forwarded-For值php

開啓F5源地址轉換"Auto Map"nginx

方式一: 在http profile中開啓X-Forwarded-Forapache

方式二:在iRule中開啓X-Forwarded-For服務器

when HTTP_REQUEST {
    HTTP::header insert "X-Forwarded-For" [IP::client_addr]
}

IIS 7日誌中獲取訪客真實IP的解決方案

方案一:使用ISAPI篩選器獲取訪客真實IP。spa

一、下載插件F5XForwardedFor.dll:http://aliyuntool.oss.aliyuncs.com/F5XForwardedFor2008.zip插件

二、根據本身的版本將x86\Release 或者x64\Release目錄下的F5XForwardedFor.dll拷貝到某個目錄,假設爲C:\F5XForwardedFor\,確保對IIS進程對該目錄有讀取權限。3d

三、確認您的服務器是否安裝如下兩個模塊:(「ISAPI篩選器」 及 「ISAPI和CGI限制」 ):若是未安裝,請按如下步驟進行安裝:日誌

若是未安裝,請按如下步驟進行安裝:code

一、右鍵點擊 」計算機」,選擇 」管理:orm

二、選擇」角色」選項,點擊添加角色服務:

三、選擇「ISAPI 擴展 和ISAPI篩選器」,點擊下一步,進行安裝。

四、添加「ISAPI篩選器」,雙擊「ISAPI篩選器」,點擊添加:

五、填寫篩選器的名稱(沒無特殊要求),選報DLL文件路徑,點擊肯定。

六、雙擊「ISAPI 和CGI限制」,點擊添加,添加內容以下:

七、修改添加的DLL,從「不容許」修改成「容許」。

八、重啓IIS服務器,等待配置生效。

 

方案二:使用IIS模塊功能獲取訪客真實IP。

一、下載F5XForwardedFor模塊:http://aliyunecs.oss.aliyuncs.com/x_forwarded_for.rar

二、根據本身的服務器版本將x86\Release 或者x64\Release目錄下的F5XFFHttpModule.dll和F5XFFHttpModule.ini拷貝到某個目錄,假設爲C:\F5XForwardedFor\,確保對IIS進程對該目錄有讀取權限。

三、選擇"IIS服務器"選項,按圖所示選擇"模塊"功能。

四、雙擊「模塊」功能,點擊「配置本機模塊」。

五、在彈出框中點擊「註冊」按鈕。

六、添加下載的DLL文件,以下圖:

七、添加完成後,勾選並點擊「肯定」。

八、把這兩個DLL在 「API 和CGI限制」進行添加,並改成容許。

九、重啓IIS服務器,等待配置生效。

Apache日誌中獲取訪客真實IP的解決方案

修改配置文件httpd.conf

<IfModule log_config_module>
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" f5_forwarder LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
SetEnvIf X
-Forwarded-For "^.*\..*\..*\..*" is-forwarded CustomLog logs/access_log combined env=!is-forwarded CustomLog logs/access_log f5_forwarder env=is-forwarded
</IfModule>

或者添加%{X-Forwarded-For}i(推薦)

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{X-Forwarded-For}i" combined

Nginx日誌中獲取訪客真實IP的解決方案

修改配置文件nginx.conf

log_format main '$remote_addr - $remote_user [$time_local] '
                '"$request" $status $body_bytes_sent "$http_referer" '
                '"$http_user_agent" "$http_x_forwarded_for"' ;

Tomcat日誌中獲取訪客真實IP的解決方案

修改配置文件server.xml

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b &quot;%{Referer}i&quot; &quot;%{User-Agent}i&quot; %{X-Forwarded-For}i" />

在PHP中獲取X-Forwarded-For的值

<?php
    $headers = apache_request_headers();
    $real_client_ip = $headers["X-Forwarded-For"];
    echo  "Your IP: ",$real_client_ip;
?>
相關文章
相關標籤/搜索