2016-09-15 118 views
0

我們在CloudFront上託管的網站目前尚未更新至近24小時。AWS CloudFront網站未更新

CloudFront失效更新了一些文件。我可以在S3上看到所有的文件已經更新。對這些文件執行GET我可以看到時間戳都是正確的,除了其中一個文件(JavaScript縮小文件,名爲app.min.js),它仍然有一箇舊的時間戳。但是,看S3,app.min.js文件具有正確的更新時間戳。強制文件沒有緩存,app.min.js仍然反映舊文件。

有沒有人對這裏會發生什麼有什麼建議?

回答

1

你的文件仍然被緩存在某處。如果未在CloudFront中緩存,則可能會將其緩存在瀏覽器中或CloudFront和您之間的其他位置。

使CloudFront分佈失效並不會使瀏覽器中的緩存失效。所以請確保您使用全新的瀏覽器來測試。更好的是,使用curl

  • 的Invalidate CloudFront的再次
  • 重新啓動瀏覽器
  • 使用不同的瀏覽器
  • 使用不同的電腦
  • 使用curl避免本地緩存

做任何事情,以消除可能打擊緩存版本。

另外:

  1. 加入「不緩存」到S3上的文件,將不會對在CloudFront的緩存版本有任何影響。您需要再次使緩存無效才能強制CloudFront獲取新版本。
  2. CloudFront的默認TTL是24小時。所以一旦達到24小時,它應該從原點重新獲取文件。您可以查看標題以查看TTL用完之前的時間。
+0

感謝您的幫助馬特。好吧,我仍然困惑。使用'curl'我們可以獲得最新版本,但通過任何瀏覽器和網絡(試用家庭/工作計算機和不同的瀏覽器),文件不會更新。 –

+0

嗯,curl沒有得到最新的請求頭'Accept-Encoding:gzip,deflate,sdch,br'與Chrome使用的相同請求頭文件 –

+0

Yah它可能是雙重壓縮文件,現在正在測試。我使用awpublish npm軟件包在gulp'.pipe(awspublish.gzip({ext:''}))''中發佈,並且cloudfront可能會再次進行壓縮doh –