[英]Amazon Cloudfront Cache-Control: no-cache header has no effect after 24 hours
[英]How to set Cache-Control Header in amazon cloudfront?
我有一個亞馬遜雲端發行版,它為我的 CDN 創建了一個“來源”。 在我的行為中,我設置了最大 TTL、最小 TTL 和默認 TTL。 但是我的響應 header 沒有在重定向的 static 文件中返回 Cache-control header。 如何設置緩存控制? 我需要這個用於谷歌頁面洞察
緩存控制
您可以在不使用函數的情況下將 Cache-Control header 添加到您的 CloudFront 實例。 https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/adding-response-headers.html
正如James所提到的,您在創建分配時在 CF 設置中看到的 MAX TTL、MIN TTL 等定義了 CloudFront 分配和 Origin 的緩存行為。 換言之,CloudFront 應在檢查源之前將資產保留在邊緣站點中的時間。 例如,如果您有一個 S3 存儲桶作為源,然后有一個 CloudFront 分配,通過設置 MAX TTL Min TTL 等,您可以告訴 CloudFront 它應該多久檢查一次源(在本例中為 S3)以進行更改。 您可以在 AWS Docs 中了解更多信息。 管理內容在邊緣緩存中停留的時間(到期) 。
在上面的示例中,您可以轉到 S3 存儲桶並設置Cache-Control
。 欲了解更多信息,該怎么辦呢讀這一個。
您可以: 1. 配置 origin 以添加 Cache-Control 標頭作為響應。 或 2. 使用 Lambda@edge(查看器響應,因為您只想將其用於 google 頁面見解)在響應中添加 Cache-control 標頭。 示例: https : //github.com/jkrnak/serverless-lambda-at-edge/blob/master/handler.js
定義 TTL 不添加任何緩存控制頭,它用於考慮需要緩存多長時間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.