

**에 대한 새로운 콘솔 환경 소개 AWS WAF**

이제 업데이트된 환경을 사용하여 콘솔의 모든 위치에서 AWS WAF 기능에 액세스할 수 있습니다. 자세한 내용은 [콘솔 작업을 참조하세요](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html).

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

# AWS WAF Classic에서 Amazon CloudFront 기능을 사용하는 방법
<a name="classic-cloudfront-features"></a>

**주의**  
AWS WAF Classic은 계획된 end-of-life 프로세스를 거치고 있습니다. 리전별 마일스톤 및 날짜는 AWS Health 대시보드를 참조하세요.

**참고**  
이것은 **AWS WAF Classic** 설명서입니다. 2019년 11월 AWS WAF 이전에에서 규칙 및 웹 ACLs과 같은 리소스를 생성하고 AWS WAF 아직 최신 버전으로 마이그레이션하지 않은 경우에만이 버전을 사용해야 합니다. 웹 ACL 마이그레이션하려면 [AWS WAF Classic 리소스를 로 마이그레이션 AWS WAF](waf-migrating-from-classic.md) 섹션을 참조하세요.  
**의 최신 버전은 AWS WAF** 단원을 참조하십시오[AWS WAF](waf-chapter.md).

웹 ACL을 생성할 때 AWS WAF Classic이 검사할 CloudFront 배포를 하나 이상 지정할 수 있습니다. AWS WAF Classic은 웹 ACL에서 식별하는 조건에 따라 해당 배포에 대한 웹 요청을 허용, 차단 또는 계산하기 시작합니다. CloudFront는 AWS WAF Classic 기능을 개선하는 몇 가지 기능을 제공합니다. 이 장에서는 CloudFront와 AWS WAF Classic이 함께 더 잘 작동하도록 CloudFront를 구성할 수 있는 몇 가지 방법을 설명합니다.

**Topics**
+ [CloudFront에서 AWS WAF Classic 사용 사용자 지정 오류 페이지](#classic-cloudfront-features-custom-error-pages)
+ [자체 HTTP 서버에서 실행되는 애플리케이션에 대해 CloudFront와 함께 AWS WAF Classic 사용](#classic-cloudfront-features-your-own-http-server)
+ [CloudFront가 응답하는 HTTP 메서드 선택](#classic-cloudfront-features-allowed-http-methods)

## CloudFront에서 AWS WAF Classic 사용 사용자 지정 오류 페이지
<a name="classic-cloudfront-features-custom-error-pages"></a>

 AWS WAF Classic은 지정한 조건에 따라 웹 요청을 차단하면 HTTP 상태 코드 403(금지됨)을 CloudFront에 반환합니다. 다음에는 CloudFront가 상태 코드를 최종 사용자에게 반환합니다. 최종 사용자에게는 다음과 유사한 짧고 불완전한 형식의 기본 메시지가 표시됩니다.

`Forbidden: You don't have permission to access /myfilename.html on this server.`

나머지 웹 사이트에서와 같은 형식을 사용하여 사용자 지정 오류 메시지를 표시하려는 경우 최종 사용자에게 사용자 지정 오류 메시지가 포함된 HTML 파일 등의 객체를 반환하도록 CloudFront를 구성할 수 있습니다.

**참고**  
CloudFront는 오리진에서 반환되는 HTTP 상태 코드 403과 요청이 차단될 때 AWS WAF Classic에서 반환되는 HTTP 상태 코드 403을 구분할 수 없습니다. 따라서 HTTP 상태 코드 403의 다른 원인을 기반으로 다른 사용자 지정 오류 페이지를 반환할 수 없습니다.

CloudFront 사용자 지정 오류 페이지에 대한 자세한 내용을 알아보려면 *Amazon CloudFront 개발자 안내서*의 [오류 응답 사용자 지정](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html)을 참조하세요.

## 자체 HTTP 서버에서 실행되는 애플리케이션에 대해 CloudFront와 함께 AWS WAF Classic 사용
<a name="classic-cloudfront-features-your-own-http-server"></a>

CloudFront와 함께 AWS WAF Classic을 사용하면 Amazon Elastic Compute Cloud(Amazon EC2)에서 실행되는 웹 서버든 비공개로 관리하는 웹 서버든 상관없이 모든 HTTP 웹 서버에서 실행되는 애플리케이션을 보호할 수 있습니다. 또한 CloudFront와 자체 웹 서버 간 및 최종 사용자와 CloudFront 간에 HTTPS를 요구하도록 CloudFront를 구성할 수 있습니다.

**CloudFront와 자체 웹 서버 간에 HTTPS 요구**  
CloudFront와 자체 웹 서버 간에 HTTPS를 요구하려면, CloudFront 사용자 지정 오리진 기능을 사용하고 특정 오리진에 대한 **오리진 프로토콜 정책** 및 **오리진 도메인 이름 **설정을 구성할 수 있습니다. CloudFront 구성에서 CloudFront가 오리진에서 객체를 가져올 때 사용할 포트 및 프로토콜과 함께 서버의 DNS 이름을 지정할 수 있습니다. 또한 사용자 지정 오리진 서버의 SSL/TLS 인증서가 구성한 원본 도메인 이름과 일치하는지 확인해야 합니다. 외부에서 자체 HTTP 웹 서버를 사용하는 경우 Comodo AWS, DigiCert 또는 Symantec과 같은 신뢰할 수 있는 타사 인증 기관(CA)에서 서명한 인증서를 사용해야 합니다. CloudFront와 자체 웹 서버 간의 통신을 위해 HTTPS를 요구하는 방법에 대한 자세한 내용은 *Amazon CloudFront 개발자 안내서*의 [CloudFront와 사용자 지정 오리진 간의 통신에 HTTPS 요구](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-cloudfront-to-custom-origin.html) 항목을 참조하세요.

**최종 사용자와 CloudFront 간의 HTTPS 요구**  
최종 사용자와 CloudFront 간의 HTTPS를 요구하려면, CloudFront 배포의 하나 이상의 동작에 대해 **최종 사용자 프로토콜 정책**을 변경할 수 있습니다. 최종 사용자와 CloudFront 간의 HTTPS 사용에 대한 자세한 내용은 *Amazon CloudFront 개발자 안내서*의 [최종 사용자와 CloudFront 간의 통신에 대한 HTTPS 요구](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html) 항을 참조하세요. 또한 최종 사용자가 자체 도메인 이름(예: *https://www.mysite.com*)을 사용하여 HTTPS를 통해 CloudFront 배포에 연결할 수 있도록 자체 SSL 인증서를 가져올 수 있습니다. 자세한 내용은 *Amazon CloudFront 개발자 안내서*의 [대체 도메인 이름 및 HTTPS 구성](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cnames-and-https-procedures.html) 항을 참조하세요.

## CloudFront가 응답하는 HTTP 메서드 선택
<a name="classic-cloudfront-features-allowed-http-methods"></a>

Amazon CloudFront 웹 배포를 생성할 때 CloudFront에서 처리하여 오리진으로 전달할 HTTP 메서드를 선택합니다. 다음 옵션 중에서 선택할 수 있습니다.
+ **GET, HEAD** – 오리진에서 객체를 가져오거나 객체 헤더를 가져오기 위해서만 CloudFront를 사용할 수 있습니다.
+ **GET, HEAD, OPTIONS** – 오리진에서 객체를 가져오거나 객체 헤더를 가져오기 위해, 또는 오리진 서버에서 지원되는 옵션 목록을 가져오기 위해서만 CloudFront를 사용할 수 있습니다.
+ **GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE** – CloudFront를 사용하여 객체를 추가, 업데이트, 삭제하고 가져올 수 있으며 객체 헤더를 가져올 수 있습니다. 또한 웹 양식에서 데이터를 제출하는 등의 기타 POST 작업을 수행할 수 있습니다.

에 설명된 대로 AWS WAF Classic 문자열 일치 조건을 사용하여 HTTP 메서드를 기반으로 요청을 허용하거나 차단할 수도 있습니다[문자열 매칭 조건 작업](classic-web-acl-string-conditions.md). `GET` 및와 같이 CloudFront에서 지원하는 메서드의 조합을 사용하려면 다른 메서드를 사용하는 요청을 차단하도록 AWS WAF Classic을 구성할 필요가 `HEAD`없습니다. , `GET` `HEAD`및와 같이 CloudFront에서 지원하지 않는 메서드의 조합을 허용하려는 경우 모든 메서드에 응답하도록 CloudFront를 구성한 다음 AWS WAF Classic을 사용하여 다른 메서드를 사용하는 요청을 차단할 `POST`수 있습니다.

CloudFront에서 응답하는 메서드를 선택하는 방법에 대한 자세한 내용은 *Amazon CloudFront 개발자 안내서*의 [웹 배포의 생성 또는 업데이트 시 지정하는 값](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html) 항목에 있는 [허용되는 HTTP 메서드](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesAllowedHTTPMethods)를 참조하세요.