X-FORWARDED-FOR에 여러 IP가 포함될 수 있음


13

X-FORWARDED-FOR여러 개의 IP 주소를 포함 할 수 있습니까 ? 그렇다면 왜 그렇습니까? 예시적인 예가 좋습니다.

답변:


22

예, 요청이 둘 이상의 프록시 서버를 통해 연결되는 경우 각 프록시는 이전 체인의 IP를 기존 X-Forwarded-For 헤더에 추가하여 전체 체인을 유지해야합니다.


기존 값에 추가되는 프록시를 본 적이 없습니다. 이것에 대한 인용?
ceejayoz

4
개인적인 경험. 대형 웹 사이트에서 수신 한 X-Forwarded-For 헤더를 분석하는 데 많은 시간을 보냈으며 실제로 헤더에 2-3 개의 IP 주소가 표시되는 것은 드문 일이 아닙니다.
마이크 스콧

4
그러나 여기 위키 백과의 문서를 참조하십시오 en.m.wikipedia.org/wiki/X-Forwarded-For를 . "값은 쉼표 + 공백으로 구분 된 IP 주소 목록이며, 가장 왼쪽은 원래 클라이언트이며 요청을받은 각 연속 프록시는 요청을받은 IP 주소를 추가합니다."라고 말합니다.
마이크 스콧

특정 프록시가 그렇게하는지 궁금합니다. 매혹적인. 내 경험상, nginx는 이와 같이 처리하지 않습니다.
ceejayoz

1
@ceejayoz nginx와 같은 오픈 소스 프로젝트를 사용하고 헤더를 "SET xff = clientIP"로 쓰면 추가되지 않습니다. 대부분의 상용 어플라이언스는 속성을 사용할 수없는 경우 추가 또는 설정 네트워킹
Jacob Evans

2

에서 https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For

X-Forwarded-For: <client>, <proxy1>, <proxy2>

요청이 여러 프록시를 통과하는 경우 각 연속 프록시의 IP 주소가 나열됩니다. 즉, 가장 오른쪽 IP 주소는 가장 최근 프록시의 IP 주소이고 가장 왼쪽 IP 주소는 원래 클라이언트의 IP 주소입니다.

예 :

X-Forwarded-For: 2001:db8:85a3:8d3:1319:8a2e:370:7348

X-Forwarded-For: 203.0.113.195

X-Forwarded-For: 203.0.113.195, 70.41.3.18, 150.172.238.178
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.