我想要在 Amazon CloudFront 中根據 HTTP 標頭來快取內容。該如何進行?
簡短描述
若要將您的分佈設定為根據 HTTP 標頭來快取內容,請執行以下操作之一:
- 建立快取政策並將其連接到分佈中的行為
- 編輯分佈中現有舊式快取行為的設定
最佳實務是建立新的快取政策來快取內容。您可以使用新的快取政策來自訂組態,而不是編輯舊式分佈。
重要提示:您無法將 CloudFront 設定為根據標頭類型連接、主機 (若為 Amazon S3 來源)、Proxy-Authorization、TE 或升級的請求標頭值來進行快取。如需詳細資訊,請參閲選取要快取所依據的標頭。
解決方案
建立快取政策
- 使用 CloudFront 主控台建立快取政策。
- 在 TTL settings (TTL 設定) 底下,輸入 Minimum TTL (最小 TTL)、Maximum TTL (最大 TTL) 和 Default TTL (預設 TTL) 的值,以管理 CloudFront 快取物件的時間量。依預設,所快取的檔案會在 24 小時後自動過期。
- 在 Cache key settings (快取金鑰設定) 底下,為 Headers (標頭) 選擇 Include the following headers (包含下列標頭)。
- 從 Add header (新增標頭) 下拉式清單中選取您的標頭,或選取 Add custom (新增自訂) 以新增自訂標頭。
- 根據您要將政策附加至的行為的要求,完成快取政策的所有其他設定。然後選擇 Create (建立)。
- 在建立快取政策後,請依照步驟將政策連接至 CloudFront 分佈的相關行為。
編輯現有行為的設定
- 開啟 CloudFront 主控台,然後選擇您的分佈。
- 選擇 Behaviors (行為) 標籤。然後,選擇要根據所選 HTTP 標頭來快取內容的路徑。
- 選擇 Edit (編輯)。
- 在 Cache key and origin requests (快取金鑰與來源請求) 底下,確認您已選取 Legacy cache settings (舊式快取設定)。
如果未選取 Legacy cache settings (舊式快取設定),請依照上一節中的步驟建立快取政策。
-或-
如果已選取 Legacy cache settings (舊式快取設定),請執行以下操作:
為 Headers (標頭) 選取 Include (包含) 下列標頭。
從 Add header (新增標頭) 下拉式清單中,選取要快取的標頭。
- 若要管理 CloudFront 快取的快取持續時間,請在 Object Caching (物件快取) 底下選擇 Customize (自訂)。然後在 Minimum TTL (最小 TTL)、Default TTL (預設 TTL) 和 Maximum TTL (最大 TTL) 欄位中指定值。如需詳細資訊,請參閲物件快取。
- 選擇 Save Changes (儲存變更)。
注意:若要變更個別檔案的快取持續時間,請設定來源以新增 Cache-Control max-age 指令、Cache-Control s-maxage 指令或過期標頭。如需詳細資訊,請參閲使用標頭來控制個別物件的快取持續時間。
針對 Amazon Simple Storage Service (Amazon S3) 來源,新增標頭值的中繼資料,以管理個別物件的快取過期。如需詳細資訊,請參閲使用 Amazon S3 主控台向物件新增標頭。
相關資訊
使用政策
根據請求標頭來快取內容
管理內容在快取中的停留時間 (過期)