HTTP Header:X-Forwarded-For(XFF)

katrina·2021년 10월 22일
0

X-Forwarded-For(XFF)

HTTP Proxy(또는 Load Balancers, Caching Server) 등을 통해 웹서버에 접속하는 클라이언트의 ip 주소를 식별하기 위한 사실상 표준 헤더 (표준화된 버전 HTTP Forwarded Header)

웹서버(또는 WAS)와 클라이언트 사이에 Proxy Server(또는 Load Balancers, Caching Server)등의 장비가 있는 경우, 웹서버는 실제 클라이언트 IP가 아닌 앞단에 있는 Proxy Server IP를 요청한 IP로 인식하고, Proxy 장비 서버 IP로 웹로그를 남기게 됨. 서버 접근 로그는 Proxy Server의 ip만 갖고 있기 때문에 장비 서버 ip에 접속한 것으로 인식.
그렇기 때문에 X-Forwarded-For 헤더를 통해 웹프로그램이 실제로 요청한 클라이언트의 IP 파악 가능.

X-Forwarded-For : <client>,<proxy1>,<proxy2>
여러 프로시들을 거칠 때 ip주소들이 차례로 열거되어 첫번째 IP주소는 클라이언트 IP주소로 식별 가능 
(Apache,Nginx에서 X-Forwarded-for을 사용하기 위해 별도 설정 필요)

public IP -> ELB(private IP) -> EC2(private IP)

EC2는 private ip Address만 갖고 있어, 실제 요청한 public ip를 알 수가 없음. HTTP header에 X-Forwarded-For의 정보를 넣어서 확인 가능.

0개의 댓글