X-real-ip與X-Forwarded-For


經過反向代理后,客戶端與web服務器之間添加了中間層,因此:

1.代理服務器使用$remote_addr拿到的會是客戶端的ip

2. web服務器使用$remote_addr拿到的會是代理服務器的ip

3.客戶端使用getRemoteAddr()拿到的會是反向代理服務器的ip

 

為了讓服務器能得到客戶端的ip,可以在nginx中做些賦值操作:

1.proxy_set_header  X-real-ip $remote_addr;

即在請求頭部放入真實ip

 

2.proxy_set_header  X-Forwarded-For $proxy_add_x_forward-for;

這一段的意思是: 添加一個$proxy_add_x_forward-for到X-Forwarded-For 

設置X-Forwarded-For后,每次經過代理轉發都會有記錄,格式是: client,proxy1,proxy2,這是一個非rfc標准,因此默認沒有,需要手動添加,

那么$proxy_add_x_forwarded_for又是什么?

$proxy_add_x_forwarded_for變量包含客戶端請求頭中的"X-Forwarded-For",與$remote_addr兩部分,他們之間用逗號分開。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM