정적 웹 사이트를 호스팅하기 위해 Amazon S3 버킷을 사용하고 있습니다. 버킷이 웹 사이트의 인덱스 페이지 대신 객체 목록을 반환하는 이유는 무엇입니까?

최종 업데이트 날짜: 2020년 2월 24일

Amazon Simple Storage Service(Amazon S3) 버킷을 사용하여 정적 웹 사이트를 호스팅하고 있습니다. 버킷에 요청을 보내면 웹 사이트에 대해 설정한 인덱스 페이지 대신 XML 객체 목록이 표시됩니다. 왜 이런 현상이 발생합니까? Amazon S3가 인덱스 페이지를 반환하도록 하려면 어떻게 해야 합니까?

간략한 설명

Amazon S3 버킷에는 웹 사이트 엔드포인트와 REST API 엔드포인트가 모두 있습니다. 웹 사이트 엔드포인트는 다음 형식을 사용합니다.

bucket-name.s3-website-us-west-2.amazonaws.com

REST API 엔드포인트는 다음 형식을 사용합니다.

bucket-name.s3-us-west-2.amazonaws.com

버킷에 GET 요청을 보내는 경우 Amazon S3가 인덱스 페이지(Amazon S3 콘솔에서 "인덱스 문서"라고 함)를 반환하도록 요청을 웹 사이트 엔드포인트로 전송해야 합니다. REST API 엔드포인트에 GET 요청을 보내면 Amazon S3가 버킷의 객체 목록을 반환합니다.

Amazon S3 오리진과 함께 Amazon CloudFront 배포를 사용하는 경우 Amazon S3가 인덱스 페이지를 반환하도록 인덱스 페이지를 기본 루트 객체로 설정해야 합니다.

중요: 엔드포인트는 AWS 리전에 따라 다릅니다. 리전별 웹 사이트 엔드포인트는 Amazon Simple Storage Service 웹 사이트 엔드포인트를 참조하십시오. 리전별 REST API 엔드포인트는 AWS 리전 및 엔드포인트 – Amazon Simple Storage Service(Amazon S3)를 참조하십시오.

해결 방법

다음 단계에 따라 버킷의 웹 사이트 엔드포인트를 찾습니다.

  1. Amazon S3 콘솔을 엽니다.
  2. 버킷 목록에서 정적 웹 사이트를 호스팅하는 데 사용할 버킷을 선택합니다.
  3. [Properties(속성)] 보기를 선택한 다음 [Static website hosting(정적 웹 사이트 호스팅)]을 선택합니다.
    웹 사이트 엔드포인트는 Endpoint로 나열된 값입니다.

Amazon S3 오리진과 함께 CloudFront 배포를 사용하는 경우 다음 단계에 따라 배포의 기본 루트 객체를 인덱스 페이지로 설정합니다.

  1. CloudFront 콘솔을 엽니다.
  2. 배포 목록에서 S3 버킷과 연결된 배포를 선택합니다.
  3. [General view(일반 보기)]에서 [Edit(편집)]을 선택합니다.
  4. [Default Root Object(기본 루트 객체)]에 인덱스 페이지의 객체 이름을 입력합니다(예: "index.html").
  5. [Yes, Edit(예, 편집)]를 선택합니다.

이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?