2017-03-01 50 views
3

我對我的靜態html,js,css(etc ..)文件使用Amazon S3 webhosting。 替換我的index.html文件後,我仍然通過瀏覽器獲取舊版本。 我想設置一個默認的ttl 到存儲桶(而不是其中的特定對象)。我發現這個鏈接: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesDefaultTTL亞馬遜s3靜態虛擬主機緩存

但在儀表板中找不到「對象緩存」設置。有人能指出它在哪裏嗎?

+0

您引用的鏈接是針對CloudFront的,而不是S3。如果您未使用CloudFront,則此信息不相關。如果您使用CloudFront,則應在問題中提及。 –

回答

0

是的。如果您使用CloudFront分配 - 您只需檢查您的失效以及爲什麼您的對象失效無法正常工作。什麼是TTL值。

您使用CDN嗎?

1

這是回答你的問題的Amazon S3 link。根據亞馬遜的說法,除非您使用第三方工具(該頁面鏈接到一些工具),否則無法爲整個存儲桶設置緩存控制標頭。我遇到的一個工具描述瞭如何爲使用PUT請求(或批量使用其工具)提交的對象設置緩存指令。有關更多信息,請參閱BucketExplorer

這裏是亞馬遜的指令的複製粘貼(既然這麼不喜歡依賴,可能改變或消失外部鏈接):

要添加一個緩存控制或Expires頭域到Amazon S3使用亞馬遜S3控制檯

  1. 登錄到AWS管理控制檯,打開亞馬遜S3控制檯 在https://console.aws.amazon.com/s3對象。
  2. 在Amazon S3控制檯的存儲桶窗格中,單擊包含這些文件的存儲桶的名稱。
  3. 在對象列表中,選擇要添加標題字段的第一個對象。
  4. 點擊操作並點擊屬性
  5. 在右側窗格中,展開元數據
  6. Click 添加更多元數據
  7. 鍵列表,單擊的Cache-Control過期(如適用)。
  8. 字段,輸入適用值:
  9. 對於緩存控制字段中,輸入:max-age=number of seconds that you want objects to stay in a CloudFront edge cache
  10. 對於過期字段中,輸入HTML格式的日期和時間。
  11. 點擊保存

如果要將標題字段添加到其他對象,請單擊下一個對象的名稱,然後重複步驟5到9。

+1

請注意,您也可以使用相同的過程在文件夾級別管理此行爲。 – JLM