1cdn 自定義header頭的x-real-ip,在後端使用$http_x_real_ip獲得
proxy_set_header x-real-ip $remote_addr這種方法簡單有效準確.
2cdn一般都會使用自定義欄位x-forwarded-for記錄**過程資訊
例如: 假設加上cdn**在內的所有**後的$http_x_forwarded_for為:192.168.247.1, 192.168.247.131, 192.168.247.132,192.168.96.111
我們可以拿到第乙個ip即可(這裡不考慮ip偽造的情況)
3使用nginx自帶模組realip獲取使用者ip位址
如果nginx是通過原始碼包安裝的,在編譯時需要加上在最後一台**伺服器(nginx)做如下設定:
real_ip_header "x-forwarded-for";設定獲取ip位址串的字段
real_ip_recursive on;遞迴check位址串
set_real_ip_from 192.168.247.131;在check位址串的過程中pass掉它
set_real_ip_from 192.168.247.132;在check位址串的過程中pass掉它
set_real_ip_from 192.168.96.111;在check位址串的過程中pass掉它
這個例子中只有192.168.247.1沒有在set_real_ip_from中那我們就預設它是使用者ip
缺點:ip位址有可能被偽裝,而且需要知道所有cdn(**)節點的ip位址或者ip段
CDN下nginx獲取使用者真實IP位址
隨著nginx的迅速崛起,越來越多公司將apache更換成nginx.同時也越來越多人使用nginx作為負載均衡,並且 前面可能還加上了cdn加速,但是隨之也遇到乙個問題 nginx如何獲取使用者的真實ip位址 例項環境 使用者ip 120.22.11.11 cdn前端 61.22.22.22 cd...
CDN下nginx獲取使用者真實IP位址
隨著nginx的迅速崛起,越來越多公司將apache更換成nginx.同時也越來越多人使用nginx作為負載均衡,並且 前面可能還加上了cdn加速,但是隨之也遇到乙個問題 nginx如何獲取使用者的真實ip位址,如果後端是apache,請跳轉到例項環境 使用者ip 120.22.11.11 cdn前...
獲取使用者Ip位址通用方法
這個來自一些專案中,獲取使用者ip,進行使用者操作行為的記錄,是常見並且經常使用的。一般朋友,都會看到如下通用獲取ip位址方法。1.remote addr 是遠端ip,預設來自tcp 連線是,客戶端的ip。可以說,它最準確,確定是,只會得到直接連伺服器客戶端ip。如果對方通過 伺服器上網,就發現。獲...