본문으로 바로가기

X-Forwarded-For(XFF) 란?

category 카테고리 없음 2019. 8. 14. 14:45
  • XFF는 HTTP Header 중 하나로 HTTP Server에 요청한 Client의 IP를 식별하기 위한 표준이다. (XFF 헤더는 HTTP 프록시나 로드 밸런서를 통해 웹 서버에 접속하는 클라이언트의 원 IP 주소를 식별하는 사실상의 표준 헤더이다.)
  • 웹 서버나 WAS 앞에 L4 같은 Load balancers 나 Proxy server, caching server 등의 장비가 있을 경우 웹서버는 Proxy server 나 장비IP에서 접속한 것으로 인식한다. 그렇기 때문에 웹서버는 실제 클라이언트 IP가 아닌 앞단에 있는 Proxy서버 IP를 요청한 IP로 인식하고, Proxy장비 IP 로 웹로그를 남기게 된다.
  • 즉, 클라이언트 IP ⟶ Proxy 서버 및 장비 ⟶ 웹 서버
  • 이 때 웹프로그램에서는 XFF HTTP 해더에 있는 클라이언트 IP를 찾아 실제 요청한 클라이언트 IP를 알 수 있고, 웹로그에도 실제 요청한 클라이언트 IP를 남길 수 있다. 그러므로 XFF 해더를 사용할 때에는 사용자의 프라이버시를 주의해야한다.
  • X-Forwarded-For 는 다음과 같이 콤마를 구분자로 Client와 Proxy IP 가 들어가게 되므로 첫번째 IP 를 가져오면 클라이언트를 식별할 수 있다.
  • 문법 : X-Forwarded-For: <client>, <proxy1>, <proxy2>
    • <client> : 클라이언트 IP 주소
    • <proxy1>, <proxy2> : 하나의 요청이 여러 프록시들을 거치면, 각 프록시의 IP 주소들이 차례로 열거된다. 즉, 가장 오른쪽 IP 주소가 가장 마지막에 거친 프록시의 IP 주소이고, 가장 왼쪽이 IP 주소의 최초 클라이언트의 IP 주소이다.

 

http://blog.plura.io/?p=6597

 

X-Forwarded-For(XFF) 란?

X-Forwarded-For(XFF) 란? XFF는 HTTP Header 중 하나로 HTTP Server에 요청한 Client의 IP를 식별하기 위한 표준입니다. 웹 서버나 WAS 앞에 L4 같은 Load balancers 나 Proxy server, caching server 등의 장비가 있을 경우 웹서버는 Proxy server 나 장비IP에서 접속한 것으로 인식합니다. 그렇기 때문에 웹서버는 실제 클라이언트 IP가 아닌 앞단에 있는 Proxy서버 I

blog.plura.io

https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/X-Forwarded-For

 

X-Forwarded-For

X-Forwarded-For (XFF) 헤더는 HTTP 프록시나 로드 밸런서를 통해 웹 서버에 접속하는 클라이언트의 원 IP 주소를 식별하는 사실상의 표준 헤더다. 클라이언트와 서버 중간에서 트래픽이 프록시나 로드 밸런서를 거치면, 서버 접근 로그에는 프록시나 로드 밸런서의 IP 주소만을 담고 있다. 클라이언트의 원 IP 주소를 보기위해 X-Forwarded-For 요청 헤더가 사용된다.

developer.mozilla.org