Skip to content

Latest commit

 

History

History
28 lines (15 loc) · 1 KB

201605_x_forwarded_for.md

File metadata and controls

28 lines (15 loc) · 1 KB

X-Forwarded-For On Cloud

當使用雲端服務時,常要搭配 Load Balancer 的使用,當在 Servlet 內呼叫:

request.getRemoteAddr();

我們不一定會取得真實的 Client IP,不過還好有 HTTP Header 的 X-Forwarded-For 可以查詢,但最近觀察到一個現象,那就是那個欄位可能會回傳多個 IP。

GCE

在 GCE 的 load balancing 文件 提到

X-Forwarded-For: <client IP(s)>,

The first element in the <client IP(s)> section shows the origin address.

不過為什麼會多數其他的 client IPs 卻沒特別說明什麼。

AWS

ELB 的文件 提到的是:

X-Forwarded-For: OriginatingClientIPAddress, proxy1-IPAddress, proxy2-IPAddress

看規則與 GCE 一樣第 1 個是原始 IP,後面的則是經過的 proxy 的 IP。