2016-08-01 1 views
14

일부 파일과 함께 s3 버킷을 만들었습니다. S3 버켓을 원점으로하여 CloudFront 배포판을 생성하고 배포 된 상태로 변경했습니다. 내가 어떤 파일 CloudFront를 컬 때AWS CloudFront는 원점이 S3 버킷 일 때 http 307을 반환합니다.

내가 얻을 :

<Error><Code>TemporaryRedirect</Code><Message>Please re-send this request to the specified temporary endpoint. Continue to use the original request endpoint for future requests.</Message><Bucket>MY-BUCKET</Bucket><Endpoint>MY-BUCKET.s3-eu-west-1.amazonaws.com</Endpoint><RequestId>...</RequestId><HostId>...</HostId></Error> 

내가 그 파일 내용을 얻을 수있는 파일 내 S3 버킷 컬합니다.

내가 뭘 잘못하고 있니? 클라이언트가 S3에서 직접 데이터를 가져올 필요가 없도록 cloudfront에 파일을 캐시하는 방법

+0

배포 된 메시지를 받았을 때 바로 Curl을 사용해 보셨습니까? – error2007s

+0

@ error2007s 3 시간 이상 배포되었지만 메시지가 계속 지속됩니다. – user3231055

+0

양동이는 어느 지역에 있습니까? CloudFront 배포판에 지정한 버킷 엔드 포인트는 무엇입니까? –

답변

22

Thx Matt Houser 의견에서 첫 번째 게시물까지!

CloudFront는 배포가 완전히 준비되지 않았을 때 파일에 대한 내 첫 요청을 캐시 한 것처럼 보입니다 (하지만 그 당시 배포 된 상태 였으므로주의하십시오!). 캐시에 있던 모든 파일에 대해 무효화를 요청했지만 몇 분이 걸렸지 만 무효화가 완료된 후 모든 파일은 CloudFront URL을 사용하여 http 200로 말 립니 다.

문제는 마이클-sqlbot에서 주석 후 분명 해졌다 :

모든 버킷 적어도 두 REST 엔드 포인트 호스트 이름을 가지고있다. eu-west-1에서 은 example-bucket.s3-eu-west-1.amazonaws.com이고 example-bucket.s3.amazonaws.com입니다. 버킷 생성시 유효한 첫 번째 메시지는 즉시 입니다. 두 번째 것은 - 때로는 을 "글로벌 엔드 포인트"라고 부릅니다. 이는 클라우드 프론트가 사용하는 것입니다. - 은 버킷이 us-east-1에 있지 않으면 않습니다. 초 단위로 분, 위치 및 기타 요인에 따라 가변적으로, 전체적으로 액세스 할 수있는 이됩니다. 그 전에는 307 리디렉션이 으로 반환됩니다. 따라서 양동이가 준비되지 않았습니다.

+3

사실, 완전히 준비되지 않은 것은 배포판이 아니 었습니다. 준비가되지 않았다면 제대로 작동하지 않았을 것입니다. [그것은 준비가되지 않은 버킷 *이었습니다] (http://docs.aws.amazon.com/AmazonS3/latest/dev/Redirects.html). 일시적인 리디렉션은 새 버킷 수명의 처음 몇 분 동안 정상이며, 글로벌 종단점 DNS가 작동하는 방식 때문에 버킷이 us-east-1 영역에 있지 않은 경우 약간 길 때가 있습니다. CloudFront의 캐시에서 제공되는 응답에는 또한 'Age :'헤더가 있습니다.이 헤더는 사용자가보고 있던 내용이 캐싱 된 것임을 나타냅니다. –

+0

@ Michael-sqlbot 양동이 밑에 무엇이 준비되지 않았습니까? 그것은 정상적으로 말리지 않았고 동시에 구름이 아니었다. – user3231055

+1

모든 버킷에는 적어도 두 개의 REST 엔드 포인트 호스트 이름이 있습니다. eu-west-1에서는 example-bucket.s3-eu-west-1.amazonaws.com 및 example-bucket.s3.amazonaws.com입니다. 첫 번째 것은 버켓이 생성 될 때 즉시 유효합니다. 클라우드 프론트가 사용하는 "글로벌 엔드 포인트"라고도하는 두 번째 버전은 버킷이 우리 - 동쪽 -1에 있지 않는 한 사용하지 않습니다. 몇 초에서 몇 분의 기간 동안, 위치 및 기타 요인에 따라 가변적으로 전역 적으로 접근 가능해집니다. 그 전에는 307 리디렉션이 반환됩니다. 따라서 양동이가 준비되지 않았습니다. –

관련 문제