簡體   English   中英

要從AWS CloudFront刪除緩存控制標頭嗎?

[英]Remove Cache-Control headers from AWS CloudFront?

我正在從我的原始服務器設置Cache-Control:s-maxage = 3600。 由此,我指示我的AWS CloudFront將內容緩存3600秒。 我在白名單中列出了一些cookie,並根據CloudFront中的cookie值設置了緩存。 直到客戶端和我的CloudFront之間沒有代理為止,此設置才能正常工作。

如果有代理,它還會由於s-maxage標頭而緩存版本,而不考慮cookie值。 因此,我的最終用戶看到了與我的網頁無關的版本。

有什么辦法可以克服這個問題? 還是我需要編寫Lambda @ edge函數以在“查看器響應”中刪除此Cache-Control:s-maxage = 3600?

在查看器響應處創建一個Lamda @ Edge函數,並重置Cache-Control標頭。

exports.handler = (event, context, callback) => {

    /* Get response */
    const response = event.Records[0].cf.response;       

    response.headers['cache-control'] = [{
        key: 'cache-control', value: 'no-cache, no-store, must-revalidate'
    }];

    callback(null, response);
};

暫無
暫無

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

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