Удалить заголовки Cache-Control из AWS CloudFront? - PullRequest
0 голосов
/ 20 декабря 2018

Я устанавливаю Cache-Control: s-maxage = 3600 с моего сервера Origin.Этим я инструктирую свой AWS CloudFront кэшировать контент в течение 3600 секунд.Я включил белый список некоторых файлов cookie и установил кэширование на основе значений файлов cookie в CloudFront.Эта настройка работает нормально, пока между клиентом и моим CloudFront нет прокси.

Если есть Прокси, он также кэширует версию из-за заголовка s-maxage без учета значения cookie.Из-за этого мои конечные пользователи видят нерелевантные версии моей веб-страницы.

Есть ли способ преодолеть это?Или мне нужно написать функцию Lambda @ edge для удаления этого Cache-Control: s-maxage = 3600 в ответе Viewer?

1 Ответ

0 голосов
/ 04 апреля 2019

Создайте функцию Lamda @ Edge в приложении Viewer Response и сбросьте заголовок 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);
};
...