Сохранить файл на границе cloudfront, но принудительно восстановить для браузера

#amazon-web-services #amazon #amazon-cloudfront

#amazon-веб-сервисы #amazon #amazon-cloudfront

Вопрос:

Я ищу способ заставить клиента прекратить кэширование файла, но всегда запрашивать его у CloudFront. Поиск всегда выдает информацию, связанную с очисткой кэша в CloudFront.

В моем случае у меня есть дистрибутив CF, указывающий на мое приложение. Всякий раз, когда я хочу что-то удалить из CloudFront, я использую запрос на аннулирование. Таким образом, поведение кэширования между origin и CF находится под контролем. Тем не менее, я хочу заставить браузеры прекратить хранить кэш любого типа для ресурса. Если я верну заголовок кэша из своего источника, похоже, что это изменит поведение кэширования между CF и Origin.

Как я могу обеспечить различное поведение кэширования между клиентом и CF?

Ответ №1:

Есть ли у вас контроль над тем, когда запрашивается файл? Каков вариант использования?

Если вы хотите полностью отключить кэширование, просто задайте соответствующие заголовки в origin . Если вы хотите кэшировать origin в Cloudfront, но не в клиенте, вы можете изменить заголовки в Cloudfront с помощью Lambda@Edge .

Если это ресурс, который вы используете как часть своего собственного веб-сайта, например, файл javascript, вы можете просто добавить уникальный хэш к имени файла. Вместо того, чтобы обслуживать app.js , вы служите app-52638308.js , и число меняется при обновлении файла. Сами файлы всегда кэшируются, и их не нужно аннулировать.

Комментарии:

1. Спасибо, это конфигурационный файл js, встроенный третьими сторонами на их веб-сайте. Я посмотрю на Lambda @Edge