簡體   English   中英

當來源為s3時如何從AWS Cloudfront轉發標頭

[英]How to forward headers from aws cloudfront when origin is s3

我試圖利用瀏覽器緩存來訪問我的網站,以便“谷歌頁面速度檢查”。

google抱怨我的圖像中沒有定義有效期,因此我試圖向我的圖像添加"cache-control" header 我正在通過Amazon cloudfront提供圖像,來源是S3 我讀了幾篇文章,我要遵循的步驟是:

  1. 我進入s3存儲桶,並為我的測試對象(圖像)手動設置了"cache-control" header 我工作了,可以在瀏覽器中看到標題。
  2. 我轉到我的CloudFront發行版, "behaviour" -> "edit"然后從那里嘗試了以下操作:

    a)將"Forward Headers" to "all"設置"Forward Headers" to "all" Amazon抱怨當origin為s3時無法設置"all"值。

    b)將"Forward Headers" to "Whitelist"設置"Forward Headers" to "Whitelist" ->添加"Origin"作為白名單標題。 它不起作用。 當我檢查瀏覽器時,看不到"cache-control" header

    c)將"Forward Headers" to "None"設置"Forward Headers" to "None" ->,將"Object Caching"為“使用原始緩存頭”。 它不起作用。

    d)將"Forward Headers"設置為"None" ->,將"Object Caching ”設置為"Cusomize" ->為最小/最大/默認TTL指定一個值。 它不起作用。

所以我沒有選擇和希望。 有什么想法可以實現讓CloudFront將標頭轉發到瀏覽器嗎?

問題是您沒有等待更改傳播。 我一直在成功使用以下配置。

在此處輸入圖片說明

發布此消息,只需等待更改傳播。 (如果您如此急躁,請創建一個*無效)

要上傳資產,您可以使用以下命令[假設您已下載aws cli]。

aws s3 sync local_dir s3://bucket --cache-control max-age=604800

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM