0

S3 버킷과 함께 CloudFront를 사용하고 있습니다.403 CloudFront를 통해 내 웹 사이트 -URL을 방문 할 때 금지됨

내 CloudFront-domain (d4 ... cloudfront.net)에 직접 액세스하면 모든 것이 제대로 작동하고 내 웹 사이트 + SSL 인증서를 볼 수 있습니다.

하지만 내 웹 사이트 URL에 액세스 할 때 403 금지 메시지가 표시됩니다 (사용자 오류 문서를 가져 오는 동안 오류가 발생했습니다).

이것은 오류가 내가 얻을 : enter image description here

지금까지 시도 무엇 : enter image description here

이 응답 헤더입니다

  • 나는 CloudFront를-분포를 생성, "원본 액세스 ID : 새 ID 만들기"및 "버킷 정책 업데이트"를 선택했습니다.
  • 사용자 지정 오류 페이지를 추가했습니다.이 오류는 r eturns 상태 코드 (200)와 나는 단지 원하기 때문에

내 S3 버킷, 공개되지 않습니다 respone 페이지로 /index.html이이 정책으로 S3 버킷에 액세스 할 수 내 CloudFront를 :

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Sid": "2", 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin 
       Access Identity ..." 
      }, 
      "Action": "s3:GetObject", 
      "Resource": "arn:aws:s3:::www.../*" 
     } 
    ] 
} 
+0

* 정확한 * 오류, 헤더 및 본문을 표시하십시오. –

+0

조언을 주셔서 감사합니다. 오류 메시지와 헤더를 추가했습니다. –

+0

S3에서 오류가 발생했습니다. 오류 메시지는 XML이 아닌 HTML입니다. 이는 REST 엔드 포인트가 아닌 버킷의 웹 사이트 엔드 포인트를 사용하고 있음을 의미합니다. 오리진 액세스 ID는 REST 엔드 포인트에서만 작동합니다. –

답변

2

당신 것 Origin Access Identity를 설정하려고합니다. 이렇게하면 버킷을 비공개로 유지하고 CloudFront를 통해서만 액세스를 허용 할 수 있습니다. 이것은 설치가 매우 쉽습니다. 단계를 통해 당신을 걸으며 모든 것을 이해하는 데 도움이되는 두 개의 링크가 포함되었습니다.

Serving Private Content through CloudFront

이 StackOverflow의 Q/A

enter link description here 또한 도움이 될 것입니다. "Michael - sqlbot"의 답을 검토하십시오.

Relationship between Origin Access Identities and CloudFront Signed Urls

+0

John에게 조언 해 주셔서 감사합니다. CloudFront 배포판을 만들 때 "Origin Access Identity : Create a new Identity"및 "Update Bucket Policy"를 선택했습니다. 그렇지 않습니다. –

+0

예. 더 나은 답변을 얻을 수 있도록이 정보로 질문을 업데이트하십시오. –

+0

403은 사용 권한 문제가 있음을 의미합니다. CloudFront OAI 정책을 추가 할 때 S3 버켓에 이미 정책이 첨부 되었습니까? CloudFront는 정책에 추가하지만 현재 정책은 삭제하지 않습니다. 이 경우 버킷에 첨부 된 S3 정책을 삭제 한 다음 CloudFront에서 OAI 정책을 다시 생성하십시오. –