2014-12-24 1 views
2

는 S3에 정적 웹 사이트를 호스팅 할 말 : 당신의 이름 your-website.com와 양동이를 작성하고 웹 호스팅을 위해 그것을 설정아마존 S3 원시 엔드 포인트 액세스를 해제하는 방법

  1. 을;
  2. 도메인의 존 파일에 S3 버킷을 가리 키도록 CNAME을 추가합니다.

우수. your-website.com을 방문하면 모든 것이 잘 작동합니다. 그러나 원시/"알몸"엔드 포인트에 액세스하기를 원하지는 않습니다.

your-website.com.s3-website.your-region.amazonaws.com에 대한 직접 액세스를 사용하지 않도록 설정하는 버킷이 있습니까?

그 이유는 당신의 웹 사이트에 액세스 할 수있는 경우 your-website.com 통해 your-website.com.s3-website.your-region.amazonaws.com 모두가 당신의 검색 엔진 최적화 (중복 콘텐츠)

+0

를 참조하십시오. [웹 사이트 끝점] (http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteEndpoints.html) 및 [가상 호스팅] (http://docs.aws.amazon.com)에서 문서를 읽었습니까? /AmazonS3/latest/dev/VirtualHosting.html)? 이전 : "웹 사이트 끝점 - 액세스 제어 - 공개적으로 읽을 수있는 콘텐츠 만 지원합니다." – sethwm

+0

예,이 문제에 대한 "단서"를 찾을 수 없습니다. 믹스에 클라우드 프론트를 던지면 가능할 수도 있습니다 ... – redben

+0

사실, CloudFront는 다음을 수행합니다. http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to -s3.html – redben

답변

3

당신은 당신의 주요 관심사는 SEO을 언급 상처 것입니다. 그 목적을 위해, 다른 기술을 사용할 수 있습니다. 이것은 아마도 처음에 요청한 것보다 쉽게 ​​구현할 수 있습니다.

중복 콘텐츠를 처리하는 주요 기술 중 하나는 rel=canonical을 사용하는 것입니다. 이는 구현하기가 매우 쉽습니다. 자세한 내용은 http://googlewebmastercentral.blogspot.com.br/2013/04/5-common-mistakes-with-relcanonical.html

을 참조하십시오. 클라이언트가 CNAME을 통해 연결하지 않으면 버킷에 대한 액세스를 비활성화해야한다고 주장하는 경우 가장 좋은 방법은 CloudFront를 사용하는 것입니다. 버킷에서 S3 웹 사이트 호스팅 옵션을 사용 중지하거나 S3 버킷을 비공개로 설정 (예 : 공개 읽기를 허용하는 버킷 정책 또는 ACL 제거), CloudFront 배포 생성, 버킷을 원본으로 정의, 배포에서 CNAME 구성, DNS 레코드가 버킷 대신 배포본을 가리 키도록하려면 배포본에 OAI (Origin Access Identity)을 만들고 해당 OAI에 대한 버킷에 액세스 권한을 부여하십시오. 휴.

이 모든 것을 수행하면 사용자가 S3 버킷의 콘텐츠에 액세스 할 수 없습니다 (양동이를 읽을 수있는 권한이있는 AK/SK가없는 한 분명히 서명 된 요청을 보내지 않는 한). 유일한 방법은 도메인을 통해서입니다. 원산지 액세스 신원에 대한 자세한 세부 사항에 대한

이 가능 확실하지 http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html

+0

실제로 이것이 내가 한 일인 cloudFront입니다.그런데 문제가 발생했습니다. 버킷은 v4 인증 만 지원하는 새로운 프랑크푸르트 지역에 있습니다 (cloudFront는이를 사용하지 않습니다). 그래서 나는 양동이를 이전 위치 중 하나로 이동합니다 – redben

+0

rel 표준의 경우 웹 마스터가 그 규칙을 고수 할 수 없음을 보증 할 수 없으므로 옵션이 아닙니다 ... – redben