AWS WAF 또는 Shield Advanced에 HTTPS 요청 보내기 - AWS WAF, AWS Firewall Manager, 및 AWS Shield Advanced

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS WAF 또는 Shield Advanced에 HTTPS 요청 보내기

AWS WAF Shield Advanced 요청은 RFC 2616에 정의된 HTTPS 요청입니다. 다른 HTTP 요청과 마찬가지로 Shield Advanced에 AWS WAF 대한 요청에는 요청 메서드, URI, 요청 헤더 및 요청 본문이 포함됩니다. 응답에는 HTTP 상태 코드, 응답 헤더, 그리고 때로는 응답 본문이 포함됩니다.

요청 URI

요청 URI는 항상 슬래시(/)입니다.

HTTP 헤더

AWS WAF Shield Advanced를 사용하려면 HTTP 요청 헤더에 다음 정보가 필요합니다.

호스트(필수)

리소스가 생성되는 위치를 지정하는 엔드포인트입니다. 엔드포인트에 대한 자세한 내용은 AWS 서비스 엔드포인트를 참조하세요. 예를 들어, CloudFront 배포의 Host 헤더 값은 다음과 같습니다waf.amazonaws.com:443. AWS WAF

x-amz-date 또는 날짜 (필수)

Authorization 헤더에 포함된 서명을 만드는 데 사용되는 날짜입니다. 다음 예와 같이 ISO 8601 표준 형식을 사용하여 UTC 시간으로 날짜를 지정합니다.

x-amz-date: 20151007T174952Z

x-amz-date 또는 Date를 포함시켜야 합니다. 일부 HTTP 클라이언트 라이브러리에서는 Date 헤더를 설정할 수 없습니다. x-amz-date헤더가 있는 경우 AWS WAF 요청을 인증할 때 Date 헤더를 모두 무시합니다.

타임스탬프는 요청을 받은 AWS 시스템 시간으로부터 15분 이내여야 합니다. 그렇지 않으면 다른 사람이 요청을 재생하는 것을 방지하기 위해 RequestExpired 오류 코드와 함께 요청이 실패합니다.

권한 부여(필수)

요청 인증에 필요한 정보. 이 헤더를 구성하는 방법에 대한 자세한 내용은 요청 인증(을)를 참조하세요.

X-Amz-Target(필수)

AWSWAF_ 또는 AWSShield_, 문장 부호 없는 API 버전, 마침표(.), 작업 이름을 연결합니다. 예를 들면 다음과 같습니다.

AWSWAF_20150824.CreateWebACL

Content-Type(조건부)

다음 예와 같이 콘텐츠 유형이 JSON 및 JSON의 버전임을 지정합니다.

Content-Type: application/x-amz-json-1.1

조건: POST 요청에 대해 필수 사항입니다.

Content-Length(조건부)

RFC 2616에 따른 메시지의 길이(헤더 제외).

조건: 요청 본문 자체에 정보가 포함되어 있는 경우에 필요합니다(대부분의 도구 키트는 이 헤더를 자동으로 추가함).

다음은 AWS WAF에서 웹 ACL을 생성하기 위한 HTTP 요청의 헤더 예제입니다.

POST / HTTP/1.1 Host: waf.amazonaws.com:443 X-Amz-Date: 20151007T174952Z Authorization: AWS4-HMAC-SHA256 Credential=AccessKeyID/20151007/us-east-2/waf/aws4_request, SignedHeaders=host;x-amz-date;x-amz-target, Signature=145b1567ab3c50d929412f28f52c45dbf1e63ec5c66023d232a539a4afd11fd9 X-Amz-Target: AWSWAF_20150824.CreateWebACL Accept: */* Content-Type: application/x-amz-json-1.1; charset=UTF-8 Content-Length: 231 Connection: Keep-Alive

HTTP 요청 본문

많은 AWS WAF Shield Advanced API 작업을 수행하려면 요청 본문에 JSON 형식의 데이터를 포함해야 합니다.

다음 예제 요청에서는 간단한 JSON 문을 사용하여 IP 주소 192.0.2.44(CIDR 표기법에서는 192.0.2.44/32로 표시됨)을 포함하도록 IPSet(을)를 업데이트합니다.

POST / HTTP/1.1 Host: waf.amazonaws.com:443 X-Amz-Date: 20151007T174952Z Authorization: AWS4-HMAC-SHA256 Credential=AccessKeyID/20151007/us-east-2/waf/aws4_request, SignedHeaders=host;x-amz-date;x-amz-target, Signature=145b1567ab3c50d929412f28f52c45dbf1e63ec5c66023d232a539a4afd11fd9 X-Amz-Target: AWSWAF_20150824.UpdateIPSet Accept: */* Content-Type: application/x-amz-json-1.1; charset=UTF-8 Content-Length: 283 Connection: Keep-Alive { "ChangeToken": "d4c4f53b-9c7e-47ce-9140-0ee5ffffffff", "IPSetId": "69d4d072-170c-463d-ab82-0643ffffffff", "Updates": [ { "Action": "INSERT", "IPSetDescriptor": { "Type": "IPV4", "Value": "192.0.2.44/32" } } ] }