사용자 지정 오류 문서 구성 - Amazon Simple Storage Service

사용자 지정 오류 문서 구성

버킷을 정적 웹 사이트로 구성한 후 오류가 발생하면 Amazon S3에서 HTML 오류 문서를 반환합니다. 선택적으로 사용자 지정 오류 문서를 사용하여 버킷을 구성하고 오류가 발생하면 Amazon S3에서 해당 문서를 반환하도록 할 수 있습니다.

참고

오류가 발생할 때 일부 브라우저는 자체 오류 메시지를 표시하므로 Amazon S3이 반환하는 오류 문서는 무시됩니다. 예를 들어, HTTP 404 찾을 수 없음 오류가 발생할 때 Google Chrome은 Amazon S3이 반환하는 오류 문서를 무시하고 자체 오류 메시지를 표시할 수도 있습니다.

Amazon S3 HTTP 응답 코드

다음 표는 오류 발생 시 Amazon S3이 반환하는 HTTP 응답 코드의 하위 집합 목록입니다.

HTTP 오류 코드 설명
301 Moved Permanently(301 영구 이동됨) 사용자가 Amazon S3 웹 사이트 엔드포인트(http://s3-website.Region.amazonaws.com/)에 곧바로 요청을 보내는 경우 Amazon S3은 301 영구 이동됨 응답을 반환하고 해당 요청을 https://aws.amazon.com/s3/으로 리디렉션합니다.
302 Found(302 찾음)

xhttp://bucket-name.s3-website.Region.amazonaws.com/x 키에 대한 요청이 후행 슬래시 없이 Amazon S3에 수신되는 경우, 키 이름이 x인 객체가 첫 검색 대상이 됩니다. 객체를 찾을 수 없는 경우 Amazon S3은 해당 요청이 하위 폴더 x에 대한 것으로 판단하므로 맨 뒤에 슬래시를 추가하여 요청을 리디렉션하고 302 찾음을 반환합니다.

304 Not Modified(304 수정되지 않음)

Amazon S3 사용자는 헤더 If-Modified-Since, If-Unmodified-Since, If-Match 및/또는 If-None-Match를 요청하여 클라이언트가 보유하는 캐시된 사본과 요청된 객체가 동일한지 확인합니다. 객체가 동일한 경우 웹 사이트 엔드포인트가 304 Not Modified(304 수정되지 않음) 응답을 반환합니다.

400 Malformed Request(400 형식이 잘못된 요청)

잘못된 리전 엔드포인트를 통해 사용자가 버킷에 액세스하려는 경우 웹 사이트 엔드포인트가 400 Malformed Request(400 형식이 잘못된 요청)로 응답합니다.

[403 Forbidden]

사용자 요청이 공개적으로 읽기 가능한 객체로 변환되는 경우 웹 사이트 엔드포인트가 403 Forbidden(403 금지됨)으로 응답합니다. 객체 소유자는 버킷 정책이나 ACL을 사용하여 객체를 공개적으로 읽기 가능하도록 설정해야 합니다.

404 Not Found(404 찾을 수 없음)

웹 사이트 엔드포인트가 404 Not Found(404 찾을 수 없음)로 응답하는 이유는 다음과 같습니다.

  • Amazon S3에서 웹 사이트 URL이 존재하지 않는 객체 키를 참조한다고 판단함

  • Amazon S3이 존재하지 않는 인덱스 문서에 대한 요청이라고 유추함

  • URL에 지정된 버킷이 존재하지 않음.

  • URL에 지정된 버킷이 존재하지만 웹 사이트로 구성되지 않음.

404 Not Found(404 찾을 수 없음)에 대해 반환되는 사용자 지정 문서를 만들 수 있습니다. 반드시 웹 사이트처럼 구성된 버킷에 문서를 업로드하고 해당 문서를 사용하는 것으로 웹 사이트 호스팅을 구성해야 합니다.

Amazon S3이 URL을 객체나 인덱스 문서에 대한 요청으로 해석하는 방법에 대한 자세한 내용은 인덱스 문서 구성 섹션을 참조하세요.

500 Service Error(500 서비스 오류)

내부 서버 오류가 발생하는 경우 웹 사이트 엔드포인트가 500 Service Error(500 서비스 오류)로 응답합니다.

[503 Service Unavailable]

사용자가 요청 빈도를 줄여야 한다고 Amazon S3이 판단하는 경우 웹 사이트 엔드포인트가 503 서비스 사용 불가로 응답합니다.

이러한 각 오류에 대해 Amazon S3은 사전 정의된 HTML 메시지를 반환합니다. 다음은 403 Forbidden(403 금지됨) 요청에 대해 반환된 HTML 메시지 예입니다.


					403 금지됨 오류 메시지 예

사용자 지정 오류 문서 구성

버킷을 정적 웹 사이트로 구성할 때 사용자에게 친숙한 오류 메시지와 추가 도움말이 포함된 사용자 지정 오류 문서를 제공할 수 있습니다. Amazon S3은 HTTP 4XX 클래스 오류 코드에 대한 사용자 지정 오류 문서만 반환합니다.

S3 콘솔을 사용하여 사용자 지정 오류 문서를 구성하려면 아래 단계를 따릅니다. REST API, AWS SDK, AWS CLI 또는 AWS CloudFormation을 사용하여 오류 문서를 구성할 수도 있습니다. 자세한 내용은 다음 자료를 참조하십시오.

버킷용 정적 웹 사이트 호스팅을 사용 설정할 때 오류 문서의 이름(예: 404.html)을 입력합니다. 버킷용 정적 웹 사이트 호스팅을 사용 설정한 후 오류 문서 이름이 있는 HTML 파일을 버킷에 업로드합니다.

오류 문서 구성

  1. 오류 문서를 생성합니다(예: 404.html).

  2. 오류 문서 파일을 로컬에 저장합니다.

    오류 문서 이름은 대/소문자를 구분하며 정적 웹 사이트 호스팅을 사용하도록 설정할 때 입력한 이름과 정확히 일치해야 합니다. 예를 들어 정적 웹 사이트 호스팅 대화 상자에서 오류 문서 이름에 404.html을 입력하는 경우, 오류 문서 파일은 404.html이어야 합니다.

  3. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  4. 버킷 목록에서 정적 웹 사이트를 호스팅하는 데 사용할 버킷의 이름을 선택합니다.

  5. 버킷에 정적 웹 사이트 호스팅을 사용 설정하고 오류 문서의 정확한 이름(예: 404.html)을 입력합니다. 자세한 내용은 웹 사이트 호스팅 사용 설정 섹션을 참조하세요.

    정적 웹 사이트 호스팅을 사용 설정한 후 6단계로 이동합니다.

  6. 버킷에 오류 문서를 업로드하려면 다음 중 하나를 수행합니다.

    • 오류 문서 파일을 콘솔 버킷 목록으로 끌어다 놓습니다.

    • 업로드를 선택하고 프롬프트의 메시지에 따라 인덱스 파일을 선택하고 업로드합니다.

    단계별 지침은 객체 업로드 섹션을 참조하세요.