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

정적 웹 사이트를 호스팅하기 위해 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 콘솔 내 "인덱스 문서"라고 함)를 반환하도록 웹 사이트 엔드포인트에 요청을 보내야 합니다. GET 요청을 REST API 엔드포인트에 보낼 경우 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)]를 선택합니다.

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


결제 또는 기술 지원이 필요합니까?