我希望 Amazon CloudFront 傳遞特定檔案,而不要在邊緣節點快取檔案。
解決方法
源上的組態
注意:如果您使用舊版快取設定,請更新 CloudFront 發佈項目的快取行為,以將物件快取設定為使用來源快取標頭。如果您使用快取政策,則 CloudFront 預設會使用來源 Cache-Control 設定。
在自訂源 Web 伺服器應用程式上,將 Cache-Control no-cache、no-store 或 private 指令新增至您不希望 CloudFront 快取的物件。或者,將 Expires 指令新增至您不希望 CloudFront 快取的物件。
對於 Amazon Simple Storage Service (Amazon S3) 來源,使用物件中繼資料將 Cache-Control no-store 命令新增至 CloudFront 不應該快取的物件。如果您無法為每個物件新增物件中繼資料,請使用 AWS Lambda Lambda@Edge 函式作為來源回應函式。使用 Lambda@Edge 函式,根據 content-type 標頭或其他回應參數的值更新 Cache-Control 標頭的值。
發佈項目上的組態
您可以控制 CloudFront 在向來源傳送另一個請求之前,將物件保留在快取中的時間。設定 CloudFront 發佈項目快取行為中的最小、最大和預設存留時間 (TTL) 值。您可以在附加到快取行為的快取政策或在舊版快取設定中設定這些值。
若要使用快取政策編輯發佈項目上的組態,請完成以下步驟:
- 開啟 CloudFront console (CloudFront 主控台)。
- 選取要修改的發佈項目。
- 選擇 Behaviors (行為) 索引標籤。
- 如果您不希望 CloudFront 快取的物件已具有某個快取行為,請選取此快取行為並選擇編輯。若要建立新的快取行為,請選擇 Create Behavior (建立行為)。
- 在 Cache and origin request settings, (快取和來源請求設定),選取 Cache policy and origin request policy (快取政策和來源請求政策)。
- 在 Cache policy (快取政策),選取 Managed - CachingDisabled (受管 - CachingDisabled)。
注意:如果您使用舊版快取設定,請為 Object caching (物件快取) 選擇 Customize (自訂),並將最小、最大和預設 TTL 值設為 0。
- 選擇 Save changes (儲存變更)。
注意:如果您沒有使用 Amazon S3 儲存貯體作為源,請設定特定的快取行為,以將所有標頭轉送至源。更新快取行為,然後將根據選取請求標頭的快取設定為全部。
相關資訊
指定 CloudFront 快取物件的時間
新增、移除或取代 CloudFront 發佈項目的內容