2016-09-02 3 views
0

내 S3 버킷은 정적 웹 사이트를 호스팅합니다. 클라우드 환경을 설정하지 않았습니다.Amazon S3 정적 사이트는 이전 내용을 제공합니다.

최근에 내 S3 버킷의 파일을 업데이트했습니다. 파일이 업데이트되는 동안 버킷에서 수동으로 확인했습니다. 여전히 이전 버전의 파일을 제공합니다. S3에 호스팅 된 정적 웹 사이트에서 발생하는 일종의 캐싱 또는 버전 관리가 있습니까?

지금까지 아무 해결책도 찾을 수 없었습니다. 참고 : Cloudfront는 사용할 수 없습니다.

답변

2

S3에 호스팅 된 정적 웹 사이트에서 발생하는 일종의 캐싱 또는 버전 관리가 있습니까?

아마존 S3 버킷 새로운 객체 및 덮어 쓰기 박았에 대한 최종 일관성의 박았에 대한 일관성을 쓰기 후 읽기 및

DELETES이 무엇을 의미합니까 제공

?

s3에서 새 개체를 만드는 경우 개체에 즉시 액세스 할 수 있습니다. 그러나 기존 개체를 업데이트 할 경우 s3에서 개체의 최신 버전을 얻을 수 있습니다. 그래서 s3는 이전 버전의 객체를 제공 할 수 있습니다.

필자는 얼마 전부터 읽기 - 쓰기 - 쓰기 일관성을 미국 표준 영역에서 업데이트 할 수 있다고 생각합니다.

얼마나 기다려야합니까? 그것은 아마 다릅니다. 아마존은 이에 대한 많은 정보를 제공하지 않습니다.

무엇을 할 수 있습니까? 별로. S3 버켓에서 파일을 전송하는 데 문제가 없도록하려면 버킷에 새 파일을 업로드하면 즉시 액세스 할 수 있습니다.

+0

아! 도움이되었습니다. –

+0

일반적으로 최종 일관성은 몇 초 내에 해결됩니다. 정적 인 사이트 게재에는 일반적으로 문제가되지 않습니다. 여기 실제 문제는 S3 개체에 설정된 캐시 제어 헤더로 인해 정적 리소스의 브라우저 캐싱이라고 생각합니다. –

+1

@MarkB thats 내가 처음에 생각한 것, 그러나 op가 특별히 S3 쪽에서 캐싱을 언급했는데, 나는 "clear cache"가 완료되었다고 기대했다. –

1

Akshay가 새 파일 이름으로 업로드하려고 한 것처럼 들립니다. 그리고 효과가있었습니다.

방금 ​​같은 문제 (동일한 문제가 있음)를 시도했지만 사용할 수없는 파일을 해결했습니다.

  • 이 후 수행에게 새로운 index.htlml

의 밀어 index.html

  • index.html 업데이트되지
  • mv index.html index-new.html
  • 의 푸시를 수행, 인덱스 HTML 즉시 사용할 수있었습니다.

    수신자가 최신 버전을 볼 수 있도록하려면 내 웹 사이트에 링크를 하나만 공유 할 수 없습니다. 파일 이름을 계속 변경하고 새 링크를 다시 공유해야합니다.