nginx獲取真實ip,proxy_set_head怎麼設定頭部資訊
導讀 | 反向代理伺服器是一種代理伺服器,用於管理從外部網路到內部網路的連線或任何特定請求。它保護、路由和管理從外部網路到內部網路、Web伺服器或專用網路的流量。 |
nginx作為web伺服器一個重要的功能就是反向代理。
當然你也可以使用nginx配置正向代理,本是介紹如何配置nginx的反向代理。
nginx反向代理的指令不需要新增額外的模組,預設自帶proxy_pass指令,只需要修改配置檔案就可以實現反向代理。
$proxy_add_x_forwarded_for $http_x_forwarded_for
這兩個的變數的值的區別,就在於,proxy_add_x_forwarded_for 比http_x_forwarded_for 多了一個$remote_addr的值,但是$remote_addr 只能獲取到與伺服器本身直連的上層請求ip,所以設定$remote_addr一般都是設定第一個代理上面;但是問題是,有時候是透過cdn訪問過來的,那麼後面web伺服器獲取到的,永遠都是cdn 的ip 而非真是使用者ip,那麼這個時候就要用到X-FORward—for了,這個變數的意思,其實就像是鏈路反追蹤,從客戶的真實ip為起點,穿過多層級的proxy ,最終到達web 伺服器,都會記錄下來,所以在獲取使用者真實ip的時候,一般就可以設定成,proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 這樣就能獲取所有的代理ip 客戶ip。
在列印log 的時候
$http_x_real_ip|$remote_addr
就是 使用者的真是ip
配置如下
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
還有一種情況就是,客戶在經過cdn請求的時候,本來$proxy_add_x_forwarded_for這裡記錄的值都全部都包括,但是,當你需要取值的時候,會發現,即便用排除代理ip模組。
set_real_ip_from 100.0.0.0/8;(這裡是已知的代理ip) real_ip_header X-Forwarded-For; real_ip_recursive on;
X-Forwarded-For
裡依然有多個ip,這個時候直接取值$http_x_real_ip 就好了,但是前提條件是,cdn 那邊也設定了X-forward,不然,你這邊獲取的你認為是使用者的ip 其實是cdn的ip。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2682926/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- nginx設定反向代理怎麼獲取客戶端的真實IP和域名以供日誌分析Nginx客戶端
- 華納雲:怎麼獲取伺服器真實ip伺服器
- Nginx 反向代理後如何獲取真實客戶端 IPNginx客戶端
- nginx多級代理下如何獲取客戶端真實IPNginx客戶端
- nginx反向代理獲取客戶端的真實IP和域名Nginx客戶端
- 獲取客戶端真實IP客戶端
- Nginx代理後服務端使用remote_addr獲取真實IPNginx服務端REM
- w10如何設定自動獲取ip地址_w10怎麼自動獲取ip地址
- .net 獲取客戶端真實ip客戶端
- PHP 獲取使用者真實的ipPHP
- laravel symfony request獲取真實ip的坑Laravel
- IP資料包頭部資訊分析
- 【Go】獲取使用者真實的ip地址Go
- 【Go】獲取使用者真實的 ip 地址Go
- 伺服器獲取真實客戶端 IP伺服器客戶端
- 如何設定自動獲取ip地址
- 全面解析-怎麼查發帖人IP地址個人真實資訊!
- 關於 Laravel 使用了 CDN 獲取真實 IP 記錄Laravel
- Java面試題-如何獲取客戶端真實IPJava面試題客戶端
- reactnative獲取裝置真實ip地址和ip對映的地理位置React
- 【Nginx】如何獲取客戶端真實IP、域名、協議、埠?看這一篇就夠了!Nginx客戶端協議
- 7個獲取訪問者真實IP的方法,速學!!!
- 在容器服務中獲取客戶端真實源 IP客戶端
- ABP vNext 審計日誌獲取真實客戶端IP客戶端
- spring boot 獲取客戶端ip資訊Spring Boot客戶端
- ip代理地址免費獲取怎麼做?
- 獲取訪問者真實ip地址?我覺得不可能
- 網站滲透測試之獲取伺服器真實IP網站伺服器
- 手動設定ip地址和dns ip地址和dns怎麼設定DNS
- nginx 代理轉發 傳遞真實 ip 地址Nginx
- 全球IP whois資訊獲取與情報挖掘
- Nginx快取設定教程Nginx快取
- 虛擬機器網路設定 與dhcp 獲取ip虛擬機
- idea檔案頭資訊設定Idea
- Mac怎麼設定代理IP,蘋果系統設定http代理ip教程Mac蘋果HTTP
- 電腦靜態ip怎麼設定
- 手機怎麼設定國外ip?
- 怎麼使用路由器設定IP?路由器