Amazon S3 오리진과 함께 클라우드프론트를 사용하고 있습니다. 파일에 액세스할 수 없는 이유는 무엇입니까?

3분 분량
0

Amazon Simple Storage Service(Amazon S3) 버킷을 Amazon CloudFront 배포의 오리진으로 사용하고 있지만 S3 버킷의 파일에 액세스하거나 파일을 다운로드할 수 없습니다. 이 문제를 해결하려면 어떻게 해야 하나요?

해결 방법

403 Access Denied 오류 문제 해결

CloudFront에서 403 Access Denied 오류를 반환하는 경우 사용 사례에 따라 다음 가이드를 참조하세요.

CloudFront의 지리적 제한 사항 확인

배포에서 지리적 제한을 사용하는 경우 요청이 시작된 국가를 제한하고 있지 않은지 확인합니다.

추가 정보는 콘텐츠의 지리적 배포 제한을 참조하세요.

S3 웹 사이트 엔드포인트에 HTTPS를 적용하고 있지 않은지 확인

Amazon S3 웹 사이트 엔드포인트는 HTTPS를 지원하지 않습니다. CLI, API 또는 SDK를 사용하여 CloudFront 배포를 구성한 경우 S3 웹 사이트 엔드포인트 오리진에 HTTPS를 적용하고 있지 않은지 확인합니다.

HTTPS를 사용하고 있는지 확인하려면 GetDistributionConfig API 또는 get-distribution-config CLI 명령을 사용하여 배포 구성을 가져옵니다. OriginProtocolPolicyhttps-only로 설정된 경우 http-only를 사용하도록 OriginProtocolPolicy을 수정합니다.

HTTPS를 사용하려면 S3 REST API 엔드포인트 오리진과 함께 CloudFront를 사용하세요. 자세한 내용은 CloudFront를 사용하여 Amazon S3 버킷에 대한 HTTPS 요청을 처리하려면 어떻게 해야 합니까?를 참조하세요.

S3 객체가 30GB 미만인지 확인

HTTP GET, POST 및 PUT 요청에 허용되는 최대 파일 크기는 30GB입니다. 파일이 30GB보다 크면 400 “BadRequest” 오류가 발생합니다.

자세한 내용은 배포에 대한 일반 할당량을 참조하세요.

S3 객체 키 이름에서 특수 문자 확인

S3 객체 키 이름에 특수 문자를 사용하는 경우 특수 처리가 필요할 수 있습니다. 자세한 내용은 객체 키 명명 지침을 참조하세요.

하위 디렉터리의 기본 루트 개체를 사용하고 있지 않은지 확인

CloudFront 배포는 객체가 배포에 구성되어 있더라도 하위 디렉터리에서 기본 루트 객체를 반환하지 않습니다. 자세한 내용은 기본 루트 객체 지정을 참조하세요.

해결 방법으로 Lambda@Edge를 사용하여 하위 디렉터리에서 기본 루트 객체를 반환할 수 있습니다. 자세한 내용은 Lambda@Edge를 사용하여 Amazon S3 기반 Amazon CloudFront 오리진에 기본 디렉터리 인덱스 구현을 참조하세요.

S3 오리진에 호스트 헤더를 사용하고 있지 않은지 확인

Amazon S3 오리진의 경우 호스트 헤더 기반 캐싱 또는 호스트 헤더 전달은 지원되지 않습니다. 자세한 내용은 캐싱의 기반이 되는 헤더 선택을 참조하세요.

"요청된 리소스에 'Access-Control-Allow-Origin' 헤더가 없음" 오류 문제 해결

CloudFront의 "요청된 리소스에 'Access-Control-Allow-Origin' 헤더가 없음" 오류를 해결하려면 어떻게 해야 합니까?의 해결 방법 단계를 참조하세요.


관련 정보

오리진의 오류 응답 문제 해결

AWS 공식
AWS 공식업데이트됨 2년 전