Удалить заголовки Cache-Control из AWS CloudFront?

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

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

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

0 ответов

Создайте функцию 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);
};
Другие вопросы по тегам