Nginx代理后如何獲取客戶端真實(shí)IP地址
1、場景
在項(xiàng)目實(shí)際應(yīng)用中,我們可能會(huì)需要獲取到用戶也就是客戶端的真實(shí)IP地址,比如記錄系統(tǒng)操作日志等情況。
2、使用
通常情況下我們可以使用以下方式來獲取IP地址
request.getRemoteAddr()
但是當(dāng)我們使用Nginx反向代理項(xiàng)目地址后,使用以上方法只能獲取到Nginx服務(wù)器的IP地址,并不是客戶端的IP地址。
3、解決
解決方法很簡單,同樣也是在Nginx中進(jìn)行配置,然后在Java中獲取即可。
首先在nginx.conf配置中添加一行即可:
proxy_set_header X-Real-IP $remote_addr;
添加位置如下:

可以看到我這里還添加了其他的 proxy_set_header 配置,后面都可以自行打印看下效果。
接下來就是在程序中獲取真實(shí)IP地址了,使用以下代碼即可獲取到:
String realIP = request.getHeader("X-Real-IP");注意:getHeader()中的參數(shù)名就是nginx.conf中配置的名字

4、解釋
一個(gè)請求肯定是可以分為請求頭和請求體的,而我們客戶端的IP地址信息一般都是存儲(chǔ)在請求頭里的。而 proxy_set_header 語法就是允許重新定義或者添加發(fā)往后端服務(wù)器的請求頭,所以在 java端,需要獲取 proxy_set_header 的參數(shù)時(shí),需要使用 request.getHeader()。
總結(jié)
到此這篇關(guān)于Nginx代理后如何獲取客戶端真實(shí)IP地址的文章就介紹到這了,更多相關(guān)Nginx獲取客戶端真實(shí)IP內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- nginx經(jīng)過多層代理后獲取真實(shí)來源ip過程詳解
- 基于Nginx 反向代理獲取真實(shí)IP的問題詳解
- Nginx 獲取客戶端真實(shí)IP $remote_addr與X-Forwarded-For的實(shí)現(xiàn)
- nginx如何獲取用戶真實(shí)ip
- Nginx獲取客戶端真實(shí)IP(real_ip_header)的實(shí)現(xiàn)
- Nginx反向代理后無法獲取客戶端真實(shí)IP地址
- nginx獲取真實(shí)的ip的方法
- 基于nginx獲取代理服務(wù)ip以及客戶端真實(shí)ip詳解
- nginx獲取客戶端真實(shí)ip的常用方法
- Nginx獲取客戶端真實(shí)IP的原理及配置方法
- Nginx獲取IP地址變量的幾種方式
相關(guān)文章
在nginx中實(shí)現(xiàn)單位時(shí)間內(nèi)限制訪問頻率的教程
這篇文章主要介紹了在nginx中實(shí)現(xiàn)單位時(shí)間內(nèi)限制訪問頻率的教程,并非針對IP而是全局的訪問量限制,需要的朋友可以參考下2015-04-04
Nginx中配置用戶服務(wù)器訪問認(rèn)證的方法示例
這篇文章主要介紹了Nginx中配置用戶服務(wù)器訪問認(rèn)證的方法示例,包括一個(gè)用perl腳本來實(shí)現(xiàn)的方法,需要的朋友可以參考下2016-01-01
一段萬能的nginx接口實(shí)現(xiàn)反向代理配置
這篇文章主要介紹了一段萬能的nginx接口實(shí)現(xiàn)反向代理配置,詳細(xì)的介紹了什么是反向代理及其接口反向代理的實(shí)現(xiàn),非常具有實(shí)用價(jià)值,需要的朋友可以參考下2018-10-10
Mac中使用Nginx實(shí)現(xiàn)80端口轉(zhuǎn)發(fā)8080端口
端口轉(zhuǎn)發(fā)(Port forwarding),有時(shí)被叫做隧道,是安全殼(SSH) 為網(wǎng)絡(luò)安全通信使用的一種方法。端口轉(zhuǎn)發(fā)是轉(zhuǎn)發(fā)一個(gè)網(wǎng)絡(luò)端口從一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)到另一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的行為,其使一個(gè)外部用戶從外部經(jīng)過一個(gè)被激活的NAT路由器到達(dá)一個(gè)在私有內(nèi)部IP地址(局域網(wǎng)內(nèi)部)上的一個(gè)端口2017-09-09
Nginx反向代理重寫URL的實(shí)現(xiàn)方案
nginx服務(wù)器代理前端項(xiàng)目,并且反代后端服務(wù)器,開發(fā)時(shí)使用沒有什么問題,部署后存在同樣請求根地址的情況,但是去調(diào)用后端接口就會(huì)出現(xiàn)報(bào)錯(cuò),最后通過重寫url解決問題,所以本文給大家介紹了Nginx反向代理重寫URL的實(shí)現(xiàn)方案,需要的朋友可以參考下2025-04-04

