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後端獲取真實ipNginx後端
- nginx設定反向代理怎麼獲取客戶端的真實IP和域名以供日誌分析Nginx客戶端
- 華納雲:怎麼獲取伺服器真實ip伺服器
- 獲取真實IP地址
- Nginx 反向代理後如何獲取真實客戶端 IPNginx客戶端
- Nginx前端設定反向代理,後端Apache如何獲取訪客的真實IP,結合PHPNginx前端後端ApachePHP
- nginx反向代理獲取客戶端的真實IP和域名Nginx客戶端
- nginx多級代理下如何獲取客戶端真實IPNginx客戶端
- Apapche獲取真實IP地址方法
- 獲取客戶端真實IP客戶端
- .net 獲取客戶端真實ip客戶端
- java 獲取客戶端真實ipJava客戶端
- 獲取使用者的真實ip
- w10如何設定自動獲取ip地址_w10怎麼自動獲取ip地址
- laravel symfony request獲取真實ip的坑Laravel
- PHP 獲取使用者真實的ipPHP
- Nginx代理後服務端使用remote_addr獲取真實IPNginx服務端REM
- Nginx 負載均衡 後端伺服器獲取前端使用者真實IPNginx負載後端伺服器前端
- 全面解析-怎麼查發帖人IP地址個人真實資訊!
- 【Go】獲取使用者真實的ip地址Go
- 【Go】獲取使用者真實的 ip 地址Go
- 伺服器獲取真實客戶端 IP伺服器客戶端
- IP資料包頭部資訊分析
- 如何設定自動獲取ip地址
- Java面試題-如何獲取客戶端真實IPJava面試題客戶端
- 如何獲取終端使用者的真實ip
- [Q]怎麼樣獲取IP地址zt
- 關於 Laravel 使用了 CDN 獲取真實 IP 記錄Laravel
- 在PHP中如何獲取使用者的真實IPPHP
- Nginx環境使用CDN加速後網站日誌獲取真實使用者IP地址方法Nginx網站
- 利用python獲取nginx服務的ip以及流量統計資訊PythonNginx
- 如何獲取外網IP和IP的資訊
- 7個獲取訪問者真實IP的方法,速學!!!
- 在容器服務中獲取客戶端真實源 IP客戶端
- 《OpenCV設定和獲取攝像頭引數》OpenCV
- 【Nginx】如何獲取客戶端真實IP、域名、協議、埠?看這一篇就夠了!Nginx客戶端協議
- js獲取ip,瀏覽器資訊JS瀏覽器
- 獲取本地IP和mac等資訊Mac