기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
HTTP 헤더 및 Application Load Balancer
HTTP 요청 및 HTTP 응답은 헤더 필드를 사용하여 HTTP 메시지에 대한 정보를 전송합니다. HTTP 헤더가 자동으로 추가됩니다. 헤더 필드는 콜론으로 구분된 이름-값 페어이며 CR(캐리지 리턴) 및 LF(줄 바꿈)로 구분됩니다. HTTP 헤더 필드의 표준 집합은 RFC 2616 Message HeadersX-Forwarded
접두사를 가지고 있습니다. Application Load Balancer는 다음 X-Forwarded
헤더를 지원합니다.
HTTP 연결에 대한 자세한 내용은 Elastic Load Balancing 사용 설명서의 라우팅 요청을 참조하세요.
X-Forwarded 헤더
X-Forwarded-For
X-Forwarded-For
요청 헤더는 HTTP 또는 HTTPS 로드 밸런서를 사용할 때 클라이언트의 IP 주소를 식별하는 데 도움을 줍니다. 로드 밸런서가 클라이언트와 서버 간의 트래픽을 가로채기 때문에 서버 액세스 로그에 로드 밸런서의 IP 주소만 포함됩니다. 클라이언트의 IP 주소를 확인하려면 routing.http.xff_header_processing.mode
속성을 사용하십시오. 이 속성을 사용하여, Application Load Balancer가 대상에 요청을 보내기 전에 HTTP 요청의 X-Forwarded-For
헤더를 수정, 보존 또는 제거할 수 있습니다. 이 속성에 사용 가능한 값은 append
, preserve
및 remove
입니다. 이 속성의 기본값은 append
입니다.
Append
기본적으로, Application Load Balancer는 X-Forwarded-For
요청 헤더에 클라이언트의 IP 주소를 저장하고 이 헤더를 서버로 전달합니다. X-Forwarded-For
요청 헤더가 원본 요청에 포함되지 않은 경우, 로드 밸런서는 클라이언트 IP 주소를 요청 값으로 사용하여 하나를 생성합니다. 그렇지 않으면, 로드 밸런서가 클라이언트 IP 주소를 기존 헤더에 추가한 다음 헤더를 서버로 전달합니다. X-Forwarded-For
요청 헤더에는 쉼표로 구분된 여러 IP 주소가 포함될 수 있습니다. 가장 왼쪽 주소는 요청이 처음 만들어진 클라이언트 IP 주소입니다. 그 다음에는 체인에서 후속 프록시 식별자가 옵니다.
X-Forwarded-For
요청 헤더의 형식은 다음과 같습니다.
X-Forwarded-For: client-ip-address
다음은 IP 주소가 203.0.113.7
인 클라이언트의 X-Forwarded-For
요청 헤더입니다.
X-Forwarded-For: 203.0.113.7
다음은 IPv6 주소가 X-Forwarded-For
인 클라이언트의 2001:DB8::21f:5bff:febf:ce22:8a2e
요청 헤더입니다.
X-Forwarded-For: 2001:DB8::21f:5bff:febf:ce22:8a2e
클라이언트 포트 보존 속성(routing.http.xff_client_port.enabled
)이 로드 밸런서에서 활성화된 경우, X-Forwarded-For
요청 헤더에는 client-ip-address
에 추가되는 client-port-number
을(를) 포함합니다(콜론으로 구분). 이후 헤더의 형식은 다음과 같습니다.
IPv4 -- X-Forwarded-For: client-ip-address
:client-port-number
IPv6 -- X-Forwarded-For: [client-ip-address]
:client-port-number
IPv6의 경우 로드 밸런서가 client-ip-address
을(를) 기존 헤더에 추가하면 주소를 대괄호로 묶습니다.
다음은 IPv4 주소가 12.34.56.78
이고 포트 번호가 8080
인 클라이언트의 X-Forwarded-For
요청 헤더입니다.
X-Forwarded-For: 12.34.56.78:8080
다음은 IPv6 주소가 2001:db8:85a3:8d3:1319:8a2e:370:7348
이고 포트 번호가 8080
인 클라이언트의 X-Forwarded-For
요청 헤더입니다.
X-Forwarded-For: [2001:db8:85a3:8d3:1319:8a2e:370:7348]:8080
Preserve
속성의 preserve
모드는 대상으로 전송되기 전에 HTTP 요청의 X-Forwarded-For
헤더가 어떤 방식으로도 수정되지 않도록 합니다.
Remove
속성의 remove
모드는 대상으로 전송되기 전에 HTTP 요청의 X-Forwarded-For
헤더를 제거합니다.
참고
클라이언트 포트 보존 속성(routing.http.xff_client_port.enabled
)을 활성화하고 routing.http.xff_header_processing.mode
속성에 preserve
또는 remove
을(를) 선택할 경우 Application Load Balancer는 클라이언트 포트 보존 속성을 재정의합니다. 선택하는 모드에 따라 대상으로 전송되기 전에 X-Forwarded-For
헤더가 변경되지 않거나 제거됩니다.
다음 표에 append
, preserve
, 또는 remove
모드 중 하나를 선택할 때 대상이 받는 X-Forwarded-For
헤더의 예제가 나와 있습니다. 이 예제에서 마지막 홉의 IP 주소는 127.0.0.1
입니다.
요청 설명 |
요청 예제 |
XFF(append 모드) |
XFF(preserve 모드) |
XFF(remove 모드) |
---|---|---|---|---|
요청이 XFF 헤더 없이 전송됩니다 | GET /index.html HTTP/1.1 Host: example.com |
X-Forwarded-For: 127.0.0.1 |
존재하지 않음 | 존재하지 않음 |
요청이 XFF 헤더 및 클라이언트 IP 주소를 포함하여 전송됩니다. | GET /index.html HTTP/1.1 Host: example.com X-Forwarded-For:
127.0.0.4 |
X-Forwarded-For: 127.0.0.4, 127.0.0.1 |
X-Forwarded-For: 127.0.0.4 |
존재하지 않음 |
요청이 XFF 헤더 및 여러 클라이언트 IP 주소를 포함하여 전송됩니다. | GET /index.html HTTP/1.1 Host: example.com X-Forwarded-For:
127.0.0.4, 127.0.0.8 |
X-Forwarded-For: 127.0.0.4, 127.0.0.8,
127.0.0.1 |
X-Forwarded-For: 127.0.0.4, 127.0.0.8 |
존재하지 않음 |
를 사용하여 X-Forwarded-For 헤더를 수정, 보존 또는 제거하려면 AWS CLI
modify-load-balancer-attributes명령을 routing.http.xff_header_processing.mode
속성과 함께 사용합니다.
X-Forwarded-Proto
X-Forwarded-Proto
요청 헤더는 클라이언트가 로드 밸런서 연결에 사용한 프로토콜(HTTP 또는 HTTPS)을 식별하는 데 도움을 줍니다. 서버 액세스 로그에는 서버와 로드 밸런서 간에 사용된 프로토콜만 포함되어 있으며, 클라이언트와 로드 밸런서 간에 사용된 프로토콜에 대한 정보는 포함되어 있지 않습니다. 클라이언트와 로드 밸런서 간에 사용된 프로토콜을 확인하려면 X-Forwarded-Proto
요청 헤더를 사용하십시오. Elastic Load Balancing은 X-Forwarded-Proto
요청 헤더에 클라이언트와 로드 밸런서 간에 사용된 프로토콜을 저장하고 서버로 헤더를 전달합니다.
애플리케이션이나 웹 사이트는 X-Forwarded-Proto
요청 헤더에 저장된 프로토콜을 사용하여 해당 URL로 응답이 리디렉션 되도록 합니다.
X-Forwarded-Proto
요청 헤더의 형식은 다음과 같습니다.
X-Forwarded-Proto: originatingProtocol
다음 예제에는 HTTPS 요청으로서 클라이언트에서 시작된 요청에 대한 X-Forwarded-Proto
요청 헤더가 포함되어 있습니다.
X-Forwarded-Proto: https
X-Forwarded-Port
X-Forwarded-Port
요청 헤더는 클라이언트가 로드 밸런서 연결에 사용한 대상 포트를 식별하는 데 도움을 줍니다.